V0.3.0 - Added cleanRaidCheckpointChannel
This function cleans up old messages from followed channels in the specified channel
This commit is contained in:
parent
92661ea575
commit
046eb1d33e
|
@ -1,6 +1,6 @@
|
|||
export const config = {
|
||||
'name': 'Sweeper Bot', // Name of the bot
|
||||
'version': '0.2.4', // Version of the bot
|
||||
'version': '0.3.0', // Version of the bot
|
||||
'token': 'the_bot_token', // Discord API Token for this bot
|
||||
'localtoken': 'local_testing_token', // Discord API Token for a secondary OPTIONAL testing bot, THIS MUST BE DIFFERENT FROM "token"
|
||||
'prefix': 's!', // Prefix for all commands
|
||||
|
|
|
@ -3,20 +3,18 @@ import {
|
|||
// Discordeno deps
|
||||
Bot,
|
||||
botId,
|
||||
getReactions,
|
||||
// Log4Deno deps
|
||||
log,
|
||||
LT,
|
||||
// Discordeno deps
|
||||
Message,getReactions,
|
||||
Message,
|
||||
} from '../../deps.ts';
|
||||
import commands from '../commands/_index.ts';
|
||||
import functions from '../functions/_index.ts';
|
||||
import utils from '../utils.ts';
|
||||
|
||||
export const messageCreate = async (bot: Bot, message: Message) => {
|
||||
// Ignore all other bots
|
||||
if (message.isFromBot) return;
|
||||
|
||||
// Ignore all messages that are not commands
|
||||
if (message.content.indexOf(config.prefix) !== 0) {
|
||||
// Handle @bot messages
|
||||
|
@ -29,13 +27,16 @@ export const messageCreate = async (bot: Bot, message: Message) => {
|
|||
}
|
||||
|
||||
if (config.raidCheckpointChannel.includes(message.channelId)) {
|
||||
console.log(message);
|
||||
functions.cleanRaidCheckpointChannel(bot, message.channelId);
|
||||
}
|
||||
|
||||
// return as we are done handling this command
|
||||
return;
|
||||
}
|
||||
|
||||
// Ignore all other bots
|
||||
if (message.isFromBot) return;
|
||||
|
||||
log(LT.LOG, `Handling ${config.prefix}command message: ${utils.jsonStringifyBig(message)}`);
|
||||
|
||||
// Split into standard command + args format
|
||||
|
@ -81,7 +82,7 @@ export const messageCreate = async (bot: Bot, message: Message) => {
|
|||
commands.sendMessage(bot, message, args);
|
||||
}
|
||||
break;
|
||||
// case 'test':
|
||||
// case 'emoji-test':
|
||||
// const test = await bot.helpers.getMessage(413640605491658754n, 1016090989816987701n);
|
||||
// console.log(test)
|
||||
// if (test.reactions && test.reactions.length) {
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import { pollReactions } from './pollReactions.ts';
|
||||
import { onlyOneReaction } from './onlyOneReaction.ts';
|
||||
import { cleanRaidCheckpointChannel } from './cleanRaidCheckpointChannel.ts';
|
||||
|
||||
export default {
|
||||
cleanRaidCheckpointChannel,
|
||||
pollReactions,
|
||||
onlyOneReaction,
|
||||
};
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
import { Bot } from "../../deps.ts";
|
||||
import utils from "../utils.ts";
|
||||
|
||||
export const cleanRaidCheckpointChannel = async (bot: Bot, channelId: bigint) => {
|
||||
try {
|
||||
// Get messages in channel, sort them oldest=>newest, and filter to messages from followed servers
|
||||
const messages = (await bot.helpers.getMessages(channelId)).array().sort((a, b) => a.timestamp - b.timestamp).filter(msg => msg.isFromBot && msg.messageReference);
|
||||
|
||||
// Remove most recent message from array
|
||||
messages.pop();
|
||||
|
||||
// Delete all other messages
|
||||
for (const message of messages) {
|
||||
bot.helpers.deleteMessage(message.channelId, message.id, 'Old Checkpoint Message').catch(e => utils.commonLoggers.messageDeleteError('cleanRaidCheckpointChannel.ts:14', message, e));
|
||||
}
|
||||
} catch (e) {
|
||||
utils.commonLoggers.messageGetError('cleanRaidCheckpointChannel.ts:17', 'Something broke', e)
|
||||
}
|
||||
};
|
Loading…
Reference in New Issue