This commit is contained in:
Cynthia Foxwell 2023-06-20 21:08:47 -06:00
parent 8ea671bad3
commit b67347b18e
2 changed files with 37 additions and 3 deletions

View file

@ -1,15 +1,16 @@
const {addCommand} = require("../lib/command"); const {addCommand} = require("../lib/command");
const {startPrompt} = require("../lib/prompt"); const {startPrompt} = require("../lib/prompt");
const {processMessage} = require("../lib/messages"); const {processMessage} = require("../lib/messages");
const {listChannels} = require("./listChannels");
async function getHistory(limit = 20) { async function getHistory(limit = 20, channel = null) {
if (!comcord.state.currentChannel) { if (!channel && !comcord.state.currentChannel) {
console.log("<not in a channel>"); console.log("<not in a channel>");
return; return;
} }
const messages = await comcord.client.getMessages( const messages = await comcord.client.getMessages(
comcord.state.currentChannel, channel ?? comcord.state.currentChannel,
{limit} {limit}
); );
messages.reverse(); messages.reverse();
@ -44,3 +45,35 @@ addCommand("R", "extended history", function () {
await getExtendedHistory(input); await getExtendedHistory(input);
}); });
}); });
addCommand("p", "peek at channel", function () {
if (!comcord.state.currentGuild) {
console.log("<not in a guild>");
return;
}
listChannels();
startPrompt(":peek> ", async function (input) {
console.log("");
if (input == "") {
return;
}
let target;
const guild = comcord.client.guilds.get(comcord.state.currentGuild);
const channels = [...guild.channels.values()].filter((c) => c.type == 0);
channels.sort((a, b) => a.position - b.position);
for (const channel of channels) {
if (channel.name.toLowerCase().indexOf(input.toLowerCase()) > -1) {
target = channel.id;
break;
}
}
if (target == null) {
console.log("<channel not found>");
} else {
await getHistory(20, target);
}
});
});

View file

@ -267,6 +267,7 @@ client.on("messageReactionAdd", async function (msg, emoji, reactor) {
referencedMessage: reply, referencedMessage: reply,
author: reactor?.user ?? client.users.get(reactor.id), author: reactor?.user ?? client.users.get(reactor.id),
timestamp: Date.now(), timestamp: Date.now(),
mentions: [],
content: `*reacted with ${emoji.id ? `:${emoji.name}:` : emoji.name}*`, content: `*reacted with ${emoji.id ? `:${emoji.name}:` : emoji.name}*`,
}; };