2
0
mirror of https://github.com/thedevs-network/the-guard-bot synced 2025-08-23 10:28:09 +00:00
the-guard-bot/bot/context.js

37 lines
1.1 KiB
JavaScript
Raw Normal View History

2018-05-04 14:21:51 +02:00
'use strict';
const warn = require('../actions/warn');
const ban = require('../actions/ban');
2019-01-31 20:19:39 +01:00
const batchBan = require('../actions/batchBan');
const { scheduleDeletion } = require('../utils/tg');
2018-05-04 14:21:51 +02:00
const {
warnInlineKeyboard,
deleteWarnsAfter = false,
deleteBansAfter = false,
} = require('../config');
2018-05-04 14:21:51 +02:00
const normalisedDeleteWarnsAfter = typeof deleteWarnsAfter === 'object'
? { auto: false, manual: false, ...deleteWarnsAfter }
: { auto: deleteWarnsAfter, manual: deleteWarnsAfter };
const reply_markup = { inline_keyboard: warnInlineKeyboard };
2018-05-04 14:21:51 +02:00
module.exports = {
async ban({ admin, reason, userToBan }) {
const banMessage = await ban({ admin, reason, userToBan });
return this.replyWithHTML(banMessage)
.then(scheduleDeletion(deleteBansAfter));
},
2019-01-31 20:19:39 +01:00
batchBan({ admin, reason, targets }) {
return batchBan({ admin, reason, targets })
.then(this.replyWithHTML)
.then(scheduleDeletion(deleteBansAfter));
},
async warn({ admin, reason, userToWarn, mode }) {
2018-05-04 14:21:51 +02:00
const warnMessage = await warn({ admin, reason, userToWarn });
return this.replyWithHTML(warnMessage, { reply_markup })
.then(scheduleDeletion(normalisedDeleteWarnsAfter[mode]));
2018-05-04 14:21:51 +02:00
},
};