feat: added ability to send messages
This commit is contained in:
parent
c066b13446
commit
71ae08bf10
1 changed files with 43 additions and 5 deletions
48
src/index.ts
48
src/index.ts
|
@ -147,17 +147,38 @@ const userListList = blessed.list({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const messageBoxInput = blessed.textarea({
|
const messageBoxForm = blessed.form({
|
||||||
parent: messageBox,
|
parent: messageBox,
|
||||||
top: 0,
|
top: 0,
|
||||||
left: 0,
|
left: 0,
|
||||||
width: '99%',
|
width: '98%',
|
||||||
|
height: '87%',
|
||||||
|
mouse: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
const messageBoxInput = blessed.textarea({
|
||||||
|
parent: messageBoxForm,
|
||||||
|
top: 0,
|
||||||
|
left: 0,
|
||||||
|
width: '90%',
|
||||||
height: '87%',
|
height: '87%',
|
||||||
keys: true,
|
keys: true,
|
||||||
vi: true,
|
vi: true,
|
||||||
mouse: true,
|
mouse: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const messageBoxSubmit = blessed.button({
|
||||||
|
parent: messageBoxForm,
|
||||||
|
top: 0,
|
||||||
|
left: '95%',
|
||||||
|
width: '4%',
|
||||||
|
height: '87%',
|
||||||
|
keys: true,
|
||||||
|
vi: true,
|
||||||
|
mouse: true,
|
||||||
|
content: 'Send',
|
||||||
|
});
|
||||||
|
|
||||||
screen.append(mainWindow);
|
screen.append(mainWindow);
|
||||||
|
|
||||||
const client = new Client({
|
const client = new Client({
|
||||||
|
@ -199,8 +220,7 @@ serverListList.on('select', (item) => {
|
||||||
channelListList.on('select', async (item) => {
|
channelListList.on('select', async (item) => {
|
||||||
chatBoxList.clearItems();
|
chatBoxList.clearItems();
|
||||||
|
|
||||||
const findGuild = await client.guilds.fetch(currentSelectedGuild);
|
const findChannel = client.channels.cache.find((val) => val.isText() && val.type === 'GUILD_TEXT' && val.name === item.content);
|
||||||
const findChannel = findGuild.channels.cache.find((val) => val.name === item.content);
|
|
||||||
|
|
||||||
if (findChannel) {
|
if (findChannel) {
|
||||||
currentSelectedChannel = findChannel.id;
|
currentSelectedChannel = findChannel.id;
|
||||||
|
@ -216,11 +236,25 @@ channelListList.on('select', async (item) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
chatBoxList.scrollTo(100);
|
chatBoxList.setScrollPerc(100);
|
||||||
chatBoxList.select(100);
|
chatBoxList.select(100);
|
||||||
screen.render();
|
screen.render();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
messageBoxSubmit.on('press', async () => {
|
||||||
|
const findChannel = await client.channels.fetch(currentSelectedChannel);
|
||||||
|
|
||||||
|
if (findChannel && findChannel.isText()) {
|
||||||
|
const msg = await findChannel.send(messageBoxInput.value);
|
||||||
|
|
||||||
|
chatBoxList.addItem(`${new Date(msg.createdTimestamp).toISOString()} (${msg.author.username}#${msg.author.discriminator}) | ${msg.content}`);
|
||||||
|
|
||||||
|
chatBoxList.setScrollPerc(100);
|
||||||
|
messageBoxInput.setValue('');
|
||||||
|
}
|
||||||
|
|
||||||
|
screen.render();
|
||||||
|
});
|
||||||
|
|
||||||
screen.key('S-q', () => {
|
screen.key('S-q', () => {
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
|
@ -246,6 +280,10 @@ screen.key('S-m', () => {
|
||||||
messageBoxInput.focus();
|
messageBoxInput.focus();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
screen.key('S-r', () => {
|
||||||
|
messageBoxSubmit.focus();
|
||||||
|
});
|
||||||
|
|
||||||
serverListList.focus();
|
serverListList.focus();
|
||||||
|
|
||||||
screen.render();
|
screen.render();
|
||||||
|
|
Reference in a new issue