1
1
mirror of https://gitlab.com/ceda_ei/Quadnite-Bot synced 2025-10-22 13:50:05 +02:00

Compare commits

...

9 Commits

Author SHA1 Message Date
8f16112b2e Add /expand to commands_list 2020-04-22 21:59:33 +05:30
72e69b7ac1 Add /expand 2020-04-22 21:56:31 +05:30
3ed015b584 Fix typo firstName -> first_name 2020-04-19 18:17:12 +05:30
2914321b3c Fix typo in kys.txt 2019-03-24 23:45:22 +05:30
375f032b97 Add package-lock and catch errors 2019-03-04 14:48:26 +05:30
dcf77e56a3 Remove empty lines from questions.txt 2019-02-18 22:35:40 +05:30
e4311467b3 Fix wrong date in /info 2019-02-14 20:01:02 +05:30
bd2f38679c Add /start 2019-02-14 19:00:19 +05:30
59e8db799a Merge branch 'node_port' into 'master'
Node port

See merge request ceda_ei/Quadnite-Bot!3
2019-02-14 13:16:28 +00:00
9 changed files with 124 additions and 7 deletions

1
bot.js
View File

@@ -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
View 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";
}
};

View File

@@ -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"));
};

View File

@@ -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 += "`";

View File

@@ -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);

View File

@@ -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

View File

@@ -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
View 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=="
}
}
}

View File

@@ -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?