mirror of
https://gitlab.com/ceda_ei/Quadnite-Bot
synced 2025-10-24 06:40: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 axios = require("axios");
|
||||||
|
|
||||||
const bot = new Telegraf(BOT_API_KEY);
|
const bot = new Telegraf(BOT_API_KEY);
|
||||||
|
bot.catch((err) => console.log(err));
|
||||||
|
|
||||||
const data = [
|
const data = [
|
||||||
"questions",
|
"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 feedback = require("./feedback");
|
||||||
const media_wiki = require("./media_wiki");
|
const media_wiki = require("./media_wiki");
|
||||||
const info = require("./info");
|
const info = require("./info");
|
||||||
|
const expand = require("./expand");
|
||||||
|
|
||||||
module.exports = (bot, [ questions, kys, insults, commands_list, words ],
|
module.exports = (bot, [ questions, kys, insults, commands_list, words ], feedback_id, axios) => {
|
||||||
feedback_id, axios) => {
|
|
||||||
|
|
||||||
bot.command("question", (ctx) => ctx.reply(random(questions)()));
|
bot.command("question", (ctx) => ctx.reply(random(questions)()));
|
||||||
bot.command("word", (ctx) => ctx.reply(random(words)()));
|
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,
|
"https://wiki.archlinux.org/api.php")(ctx).then(x => ctx.reply(x,
|
||||||
{parse_mode: "HTML"})));
|
{parse_mode: "HTML"})));
|
||||||
bot.command("info", (ctx) => ctx.reply(info()(ctx), {parse_mode: "Markdown"}));
|
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 += "Channel ID: ";
|
||||||
text += `\`${forward.id}\`\n`;
|
text += `\`${forward.id}\`\n`;
|
||||||
text += "Message Date: `";
|
text += "Message Date: `";
|
||||||
const date = new Date(reply.forward_date);
|
const date = new Date(reply.forward_date*1000);
|
||||||
text += date.toUTCString();
|
text += date.toUTCString();
|
||||||
text += "`";
|
text += "`";
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ module.exports = (random, kys, default_text, bot_text, excluded_names) => (ctx)
|
|||||||
if (ctx.message.reply_to_message) {
|
if (ctx.message.reply_to_message) {
|
||||||
|
|
||||||
const { from } = 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])
|
if (name == excluded_names[0])
|
||||||
return bot_text;
|
return bot_text;
|
||||||
return random(kys)().replace(/##name##/g, name);
|
return random(kys)().replace(/##name##/g, name);
|
||||||
|
|||||||
@@ -21,3 +21,4 @@ should - Should <your question>
|
|||||||
help - Need help? Go here
|
help - Need help? Go here
|
||||||
feedback - Send feedback, suggestion for kys, insult text
|
feedback - Send feedback, suggestion for kys, insult text
|
||||||
rate - Rate me on TGDR
|
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## You should try playing snake and ladders, with real snakes and no ladders.
|
||||||
##name## Dance naked on a couple of HT wires.
|
##name## Dance naked on a couple of HT wires.
|
||||||
##name## An active volcano is the best swimming pool for you.
|
##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## 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## 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.
|
##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?
|
How old are you?
|
||||||
Whats your Birthday?
|
Whats your Birthday?
|
||||||
What starsign does that make it?
|
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?
|
Have you ever been stuck in a bad situation but had no phone?
|
||||||
How many signal bars do you usually get in your room?
|
How many signal bars do you usually get in your room?
|
||||||
What service provider do you think is the best and why so?
|
What service provider do you think is the best and why so?
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user