Автоматическое удаление сообщений, отправленных на определенный канал
Мне было любопытно, если кто-нибудь мог бы помочь мне здесь.
У моего бота есть канал предложений, чтобы игроки могли вносить предложения по улучшению работы сервера.
Тем не менее, это кластеризовано, потому что они общаются Мне было интересно, есть ли способ удалить какое-либо сообщение в определенном канале, кроме команд бота?
Спасибо!
1 ответ
Решение
Ну, вы можете проверить, начинается ли сообщение с вашего префикса или было отправлено ботом: если ничего из этого не значит, это не команда или ответ на команду. Все это при условии, что сообщение находится в этом канале.
// ASSUMPTIONS:
// channel = your channel as a TextChannel
// prefix = your prefix as a string
// owner = you as a User
client.on('message', msg => {
if (msg.channel != channel || msg.author.bot || msg.content.startsWith(prefix)) return;
else msg.delete();
});
// if you want your messages to be ignored too:
client.on('message', msg => {
if (msg.channel != channel || msg.author.bot || msg.content.startsWith(prefix) || msg.author == owner) return;
else msg.delete();
});