mirror of
https://gitlab.com/ceda_ei/Quadnite-Bot
synced 2025-10-22 13:50:05 +02:00
Compare commits
9 Commits
node_port
...
8f16112b2e
Author | SHA1 | Date | |
---|---|---|---|
8f16112b2e | |||
72e69b7ac1 | |||
3ed015b584 | |||
2914321b3c | |||
375f032b97 | |||
dcf77e56a3 | |||
e4311467b3 | |||
bd2f38679c | |||
59e8db799a |
1
bot.js
1
bot.js
@@ -5,6 +5,7 @@ const commands = require("./commands");
|
||||
const axios = require("axios");
|
||||
|
||||
const bot = new Telegraf(BOT_API_KEY);
|
||||
bot.catch((err) => console.log(err));
|
||||
|
||||
const data = [
|
||||
"questions",
|
||||
|
32
commands/expand.js
Normal file
32
commands/expand.js
Normal file
@@ -0,0 +1,32 @@
|
||||
function expand(words, text) {
|
||||
|
||||
const letters = text.trim().toLowerCase().split("");
|
||||
return letters.map((letter) => {
|
||||
|
||||
const wordsWithLetter = words.filter(i => i.match(RegExp(`^${letter}`, "i")));
|
||||
const word = wordsWithLetter[Math.floor(Math.random() * wordsWithLetter.length)];
|
||||
return word;
|
||||
|
||||
}).reduce((acc, cur) => acc + " " + cur);
|
||||
|
||||
}
|
||||
|
||||
|
||||
module.exports = (words = []) => (ctx) => {
|
||||
|
||||
const message = ctx.message.text.replace(/^[^ ]+/, "");
|
||||
if (message) {
|
||||
|
||||
return expand(words, message);
|
||||
|
||||
} else {
|
||||
|
||||
if (ctx.message.reply_to_message)
|
||||
return expand(words, ctx.message.reply_to_message.text);
|
||||
else
|
||||
return "Need text to expand. Send /expand text or reply to a "
|
||||
+ "message with /expand";
|
||||
|
||||
}
|
||||
|
||||
};
|
@@ -7,9 +7,9 @@ const absurdify = require("./absurdify");
|
||||
const feedback = require("./feedback");
|
||||
const media_wiki = require("./media_wiki");
|
||||
const info = require("./info");
|
||||
const expand = require("./expand");
|
||||
|
||||
module.exports = (bot, [ questions, kys, insults, commands_list, words ],
|
||||
feedback_id, axios) => {
|
||||
module.exports = (bot, [ questions, kys, insults, commands_list, words ], feedback_id, axios) => {
|
||||
|
||||
bot.command("question", (ctx) => ctx.reply(random(questions)()));
|
||||
bot.command("word", (ctx) => ctx.reply(random(words)()));
|
||||
@@ -60,5 +60,9 @@ module.exports = (bot, [ questions, kys, insults, commands_list, words ],
|
||||
"https://wiki.archlinux.org/api.php")(ctx).then(x => ctx.reply(x,
|
||||
{parse_mode: "HTML"})));
|
||||
bot.command("info", (ctx) => ctx.reply(info()(ctx), {parse_mode: "Markdown"}));
|
||||
bot.command("expand", (ctx) => ctx.reply(expand(words)(ctx)));
|
||||
bot.command("start", (ctx) => ctx.reply("Hi, I am Quadnite. If you are "
|
||||
+ "chatting with me in private, you are most likely doing it wrong. "
|
||||
+ "Add me to a group for fun. To give feedback, use /feedback"));
|
||||
|
||||
};
|
||||
|
@@ -24,7 +24,7 @@ module.exports = () => (ctx) => {
|
||||
text += "Channel ID: ";
|
||||
text += `\`${forward.id}\`\n`;
|
||||
text += "Message Date: `";
|
||||
const date = new Date(reply.forward_date);
|
||||
const date = new Date(reply.forward_date*1000);
|
||||
text += date.toUTCString();
|
||||
text += "`";
|
||||
|
||||
|
@@ -3,7 +3,7 @@ module.exports = (random, kys, default_text, bot_text, excluded_names) => (ctx)
|
||||
if (ctx.message.reply_to_message) {
|
||||
|
||||
const { from } = ctx.message.reply_to_message;
|
||||
const name = from.username ? "@" + from.username : from.firstName;
|
||||
const name = from.username ? "@" + from.username : from.first_name;
|
||||
if (name == excluded_names[0])
|
||||
return bot_text;
|
||||
return random(kys)().replace(/##name##/g, name);
|
||||
|
@@ -21,3 +21,4 @@ should - Should <your question>
|
||||
help - Need help? Go here
|
||||
feedback - Send feedback, suggestion for kys, insult text
|
||||
rate - Rate me on TGDR
|
||||
expand - Expands a given abbreviation
|
||||
|
2
kys.txt
2
kys.txt
@@ -26,7 +26,7 @@
|
||||
##name## You should try playing snake and ladders, with real snakes and no ladders.
|
||||
##name## Dance naked on a couple of HT wires.
|
||||
##name## An active volcano is the best swimming pool for you.
|
||||
##name## You shoulf try hot bath in a volcano.
|
||||
##name## You should try hot bath in a volcano.
|
||||
##name## Try to spend one day in a coffin and it will be yours forever.
|
||||
##name## Hit Uranium with a slow moving neutron in your presence. It will be a worthwhile experience.
|
||||
##name## You can be the first person to step on the sun. Have a try.
|
||||
|
81
package-lock.json
generated
Normal file
81
package-lock.json
generated
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"name": "quadnite-bot",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@types/node": {
|
||||
"version": "10.12.26",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.26.tgz",
|
||||
"integrity": "sha512-nMRqS+mL1TOnIJrL6LKJcNZPB8V3eTfRo9FQA2b5gDvrHurC8XbSA86KNe0dShlEL7ReWJv/OU9NL7Z0dnqWTg=="
|
||||
},
|
||||
"axios": {
|
||||
"version": "0.18.0",
|
||||
"requires": {
|
||||
"follow-redirects": "^1.3.0",
|
||||
"is-buffer": "^1.1.5"
|
||||
}
|
||||
},
|
||||
"debug": {
|
||||
"version": "3.2.6",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
|
||||
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
},
|
||||
"follow-redirects": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz",
|
||||
"integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==",
|
||||
"requires": {
|
||||
"debug": "^3.2.6"
|
||||
}
|
||||
},
|
||||
"is-buffer": {
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
|
||||
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
|
||||
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz",
|
||||
"integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA=="
|
||||
},
|
||||
"sandwich-stream": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/sandwich-stream/-/sandwich-stream-2.0.2.tgz",
|
||||
"integrity": "sha512-jLYV0DORrzY3xaz/S9ydJL6Iz7essZeAfnAavsJ+zsJGZ1MOnsS52yRjU3uF3pJa/lla7+wisp//fxOwOH8SKQ=="
|
||||
},
|
||||
"telegraf": {
|
||||
"version": "3.27.1",
|
||||
"requires": {
|
||||
"@types/node": "^10.1.2",
|
||||
"debug": "^4.0.1",
|
||||
"node-fetch": "^2.2.0",
|
||||
"sandwich-stream": "^2.0.1",
|
||||
"telegram-typings": "^3.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
|
||||
"requires": {
|
||||
"ms": "^2.1.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"telegram-typings": {
|
||||
"version": "3.6.1",
|
||||
"resolved": "https://registry.npmjs.org/telegram-typings/-/telegram-typings-3.6.1.tgz",
|
||||
"integrity": "sha512-njVv1EAhIZnmQVLocZEADYUyqA1WIXuVcDYlsp+mXua/XB0pxx+PKtMSPeZ/EE4wPWTw9h/hA9ASTT6yQelkiw=="
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,4 +1,3 @@
|
||||
name?
|
||||
How old are you?
|
||||
Whats your Birthday?
|
||||
What starsign does that make it?
|
||||
@@ -1755,4 +1754,3 @@ How do you memorize your numbers?
|
||||
Have you ever been stuck in a bad situation but had no phone?
|
||||
How many signal bars do you usually get in your room?
|
||||
What service provider do you think is the best and why so?
|
||||
|
||||
|
Reference in New Issue
Block a user