Compare commits

..

No commits in common. "cd374090f23c35d3e8c93ad437a15d9c5ca2861f" and "41ae94391315b70e995c121890b745afac5a1642" have entirely different histories.

6 changed files with 3 additions and 25 deletions

View File

@ -13,6 +13,4 @@ roleplay gifs. Once you have an instance of Ugoki (and optionally
- `export BOT_API_KEY="your-token-for-bot"` - `export BOT_API_KEY="your-token-for-bot"`
- `export FEEDBACK_ID="chat-id-where-feedback-is-forwarded-to"` - `export FEEDBACK_ID="chat-id-where-feedback-is-forwarded-to"`
- `export UGOKI_ROOT="https://root.of.ugoki.api/server/"` - `export UGOKI_ROOT="https://root.of.ugoki.api/server/"`
- `export RATE_TIMEFRAME=5000 # rate limit time interval in milliseconds`
- `export RATE_LIMIT=5 # number of requests allowed in the timeframe`
- `npm start` - `npm start`

10
bot.js
View File

@ -1,20 +1,12 @@
const { Telegraf } = require("telegraf"); const { Telegraf } = require("telegraf");
const { BOT_API_KEY, FEEDBACK_ID, UGOKI_ROOT, RATE_TIMEFRAME, RATE_LIMIT } = process.env; const { BOT_API_KEY, FEEDBACK_ID, UGOKI_ROOT } = process.env;
const fs = require("fs").promises; const fs = require("fs").promises;
const commands = require("./commands"); const commands = require("./commands");
const axios = require("axios"); const axios = require("axios");
const roleplay = require("./static/roleplay.json"); const roleplay = require("./static/roleplay.json");
const { limit } = require("@grammyjs/ratelimiter");
const bot = new Telegraf(BOT_API_KEY); const bot = new Telegraf(BOT_API_KEY);
bot.catch((err) => console.log(err)); bot.catch((err) => console.log(err));
bot.use(limit({
// default config: 5 messages per 5 seconds
timeFrame: RATE_TIMEFRAME ?? 5000,
limit: RATE_LIMIT ?? 5,
onLimitExceeded: (ctx, next) => ctx.reply('Too many requests!'),
}))
const data = [ const data = [
"questions", "questions",

View File

@ -21,7 +21,7 @@ module.exports = (bot, [ questions, kys, insults, commands_list, words, roleplay
.then(bot_user => { .then(bot_user => {
const default_text = (command, text) => `Do you want to ${text} ` const default_text = (command, text) => `Do you want to ${text} `
+ `yourself?\nIf no, reply to someone with /${command} to ${command}` + `yourself?\nIf no, reply to someone with /${command} to kill`
+ ` them or run /${command} username/name.\nYou can suggest ` + ` them or run /${command} username/name.\nYou can suggest `
+ `more /${command} replies using /feedback`; + `more /${command} replies using /feedback`;

View File

@ -38,7 +38,7 @@ module.exports = (forms, getGif) => (ctx) => {
reply = forms.none reply = forms.none
.replace("{}", user); .replace("{}", user);
return getGif() getGif()
.then(gif => ctx.replyWithAnimation(gif.data.url, {caption: reply})); .then(gif => ctx.replyWithAnimation(gif.data.url, {caption: reply}));
}; };

11
package-lock.json generated
View File

@ -9,18 +9,12 @@
"version": "2.0.0", "version": "2.0.0",
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@grammyjs/ratelimiter": "^1.2.0",
"axios": "^0.21.0", "axios": "^0.21.0",
"fluent-ffmpeg": "^2.1.2", "fluent-ffmpeg": "^2.1.2",
"form-data": "^4.0.0", "form-data": "^4.0.0",
"telegraf": "^4.15.3" "telegraf": "^4.15.3"
} }
}, },
"node_modules/@grammyjs/ratelimiter": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@grammyjs/ratelimiter/-/ratelimiter-1.2.0.tgz",
"integrity": "sha512-xBkH/ATJsuv5JgVYX9yQM9DNg75Qqjw+gh82lVsBn4j+d0DkxxC+kuy6WFoB96Cb6oifQfaBJL8CTikdYG4v0A=="
},
"node_modules/@telegraf/types": { "node_modules/@telegraf/types": {
"version": "6.9.1", "version": "6.9.1",
"resolved": "https://registry.npmjs.org/@telegraf/types/-/types-6.9.1.tgz", "resolved": "https://registry.npmjs.org/@telegraf/types/-/types-6.9.1.tgz",
@ -294,11 +288,6 @@
} }
}, },
"dependencies": { "dependencies": {
"@grammyjs/ratelimiter": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@grammyjs/ratelimiter/-/ratelimiter-1.2.0.tgz",
"integrity": "sha512-xBkH/ATJsuv5JgVYX9yQM9DNg75Qqjw+gh82lVsBn4j+d0DkxxC+kuy6WFoB96Cb6oifQfaBJL8CTikdYG4v0A=="
},
"@telegraf/types": { "@telegraf/types": {
"version": "6.9.1", "version": "6.9.1",
"resolved": "https://registry.npmjs.org/@telegraf/types/-/types-6.9.1.tgz", "resolved": "https://registry.npmjs.org/@telegraf/types/-/types-6.9.1.tgz",

View File

@ -22,7 +22,6 @@
}, },
"homepage": "https://gitlab.com/ceda_ei/Quadnite-Bot#readme", "homepage": "https://gitlab.com/ceda_ei/Quadnite-Bot#readme",
"dependencies": { "dependencies": {
"@grammyjs/ratelimiter": "^1.2.0",
"axios": "^0.21.0", "axios": "^0.21.0",
"fluent-ffmpeg": "^2.1.2", "fluent-ffmpeg": "^2.1.2",
"form-data": "^4.0.0", "form-data": "^4.0.0",