Add /wiki, /arch_wiki
This commit is contained in:
		
							
								
								
									
										3
									
								
								bot.js
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								bot.js
									
									
									
									
									
								
							| @@ -2,6 +2,7 @@ const Telegraf = require("telegraf"); | ||||
| const { BOT_API_KEY, FEEDBACK_ID } = process.env; | ||||
| const fs = require("fs").promises; | ||||
| const commands = require("./commands"); | ||||
| const axios = require("axios"); | ||||
|  | ||||
| const bot = new Telegraf(BOT_API_KEY); | ||||
|  | ||||
| @@ -18,6 +19,6 @@ const data = [ | ||||
|  | ||||
| Promise.all(data) | ||||
| 	.then(data => | ||||
| 		commands(bot, data, FEEDBACK_ID)); | ||||
| 		commands(bot, data, FEEDBACK_ID, axios)); | ||||
|  | ||||
| bot.launch(); | ||||
|   | ||||
| @@ -5,9 +5,10 @@ const is = require("./is"); | ||||
| const weebify = require("./weebify"); | ||||
| const absurdify = require("./absurdify"); | ||||
| const feedback = require("./feedback"); | ||||
| const media_wiki = require("./media_wiki"); | ||||
|  | ||||
| module.exports = (bot, [ questions, kys, insults, commands_list, words ], | ||||
| 	feedback_id) => { | ||||
| 	feedback_id, axios) => { | ||||
|  | ||||
| 	bot.command("question", (ctx) => ctx.reply(random(questions)())); | ||||
| 	bot.command("word", (ctx) => ctx.reply(random(words)())); | ||||
| @@ -51,5 +52,11 @@ module.exports = (bot, [ questions, kys, insults, commands_list, words ], | ||||
| 	bot.command("weebify", (ctx) => ctx.reply(weebify()(ctx))); | ||||
| 	bot.command("absurdify", (ctx) => ctx.reply(absurdify()(ctx))); | ||||
| 	bot.command("feedback", (ctx) => ctx.reply(feedback(feedback_id)(ctx))); | ||||
| 	bot.command("wiki", (ctx) => media_wiki(axios, | ||||
| 		"https://en.wikipedia.org/w/api.php")(ctx).then(x => ctx.reply(x, | ||||
| 		{parse_mode: "HTML"}))); | ||||
| 	bot.command("arch_wiki", (ctx) => media_wiki(axios, | ||||
| 		"https://wiki.archlinux.org/api.php")(ctx).then(x => ctx.reply(x, | ||||
| 		{parse_mode: "HTML"}))); | ||||
|  | ||||
| }; | ||||
|   | ||||
							
								
								
									
										22
									
								
								commands/media_wiki.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								commands/media_wiki.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| module.exports = (axios, url) => (ctx) => { | ||||
|  | ||||
| 	const message = ctx.message.text.replace(/^[^ ]+/, ""); | ||||
| 	if (message) { | ||||
|  | ||||
| 		return axios.get(`${url}?action=opensearch&format=json&search=` | ||||
| 			+ `${encodeURIComponent(message)}`) | ||||
| 			.then((res) => { | ||||
|  | ||||
| 				const names = res.data[1]; | ||||
| 				const urls = res.data[3]; | ||||
| 				if (names.length == 0) | ||||
| 					return "No results found"; | ||||
| 				return "Results\n\n" + names.map((val, index) => | ||||
| 					`<a href="${urls[index]}">${val}</a>`).join("\n"); | ||||
|  | ||||
| 			}); | ||||
|  | ||||
| 	} else | ||||
| 		return Promise.resolve("Missing search query."); | ||||
|  | ||||
| }; | ||||
| @@ -22,6 +22,7 @@ | ||||
|   }, | ||||
|   "homepage": "https://gitlab.com/ceda_ei/Quadnite-Bot#readme", | ||||
|   "dependencies": { | ||||
|     "axios": "^0.18.0", | ||||
|     "telegraf": "^3.27.1" | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -1,16 +1,46 @@ | ||||
| dependencies: | ||||
|   axios: 0.18.0 | ||||
|   telegraf: 3.27.1 | ||||
| packages: | ||||
|   /@types/node/10.12.24: | ||||
|     dev: false | ||||
|     resolution: | ||||
|       integrity: sha512-GWWbvt+z9G5otRBW8rssOFgRY87J9N/qbhqfjMZ+gUuL6zoL+Hm6gP/8qQBG4jjimqdaNLCehcVapZ/Fs2WjCQ== | ||||
|   /axios/0.18.0: | ||||
|     dependencies: | ||||
|       follow-redirects: 1.6.1 | ||||
|       is-buffer: 1.1.6 | ||||
|     dev: false | ||||
|     resolution: | ||||
|       integrity: sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI= | ||||
|   /debug/3.1.0: | ||||
|     dependencies: | ||||
|       ms: 2.0.0 | ||||
|     dev: false | ||||
|     resolution: | ||||
|       integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== | ||||
|   /debug/4.1.1: | ||||
|     dependencies: | ||||
|       ms: 2.1.1 | ||||
|     dev: false | ||||
|     resolution: | ||||
|       integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== | ||||
|   /follow-redirects/1.6.1: | ||||
|     dependencies: | ||||
|       debug: 3.1.0 | ||||
|     dev: false | ||||
|     engines: | ||||
|       node: '>=4.0' | ||||
|     resolution: | ||||
|       integrity: sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ== | ||||
|   /is-buffer/1.1.6: | ||||
|     dev: false | ||||
|     resolution: | ||||
|       integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== | ||||
|   /ms/2.0.0: | ||||
|     dev: false | ||||
|     resolution: | ||||
|       integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= | ||||
|   /ms/2.1.1: | ||||
|     dev: false | ||||
|     resolution: | ||||
| @@ -47,4 +77,5 @@ registry: 'https://registry.npmjs.org/' | ||||
| shrinkwrapMinorVersion: 9 | ||||
| shrinkwrapVersion: 3 | ||||
| specifiers: | ||||
|   axios: ^0.18.0 | ||||
|   telegraf: ^3.27.1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user