From 0ef3c83f4049227c08731e3f31e53c38e1da5957 Mon Sep 17 00:00:00 2001
From: Indrajith K L
Date: Sat, 19 Jun 2021 18:30:58 +0530
Subject: * Radio Bot Implementation
---
README.md | 16 +++++---
src/commands/bb.js | 28 --------------
src/commands/dark.js | 29 ---------------
src/commands/got.js | 28 --------------
src/commands/jokes.js | 28 --------------
src/commands/loadout.js | 79 ----------------------------------------
src/commands/play.js | 52 --------------------------
src/commands/radioStart.js | 54 +++++++++++++++++++++++++++
src/commands/radioStop.js | 23 ++++++++++++
src/commands/stop.js | 17 ---------
src/commands/vaccine.js | 41 ---------------------
src/commons/confusion.js | 22 -----------
src/configs/commands.config.json | 42 +++------------------
src/language/language.json | 21 +----------
src/main.js | 33 +++--------------
15 files changed, 100 insertions(+), 413 deletions(-)
delete mode 100644 src/commands/bb.js
delete mode 100644 src/commands/dark.js
delete mode 100644 src/commands/got.js
delete mode 100644 src/commands/jokes.js
delete mode 100644 src/commands/loadout.js
delete mode 100644 src/commands/play.js
create mode 100644 src/commands/radioStart.js
create mode 100644 src/commands/radioStop.js
delete mode 100644 src/commands/stop.js
delete mode 100644 src/commands/vaccine.js
delete mode 100644 src/commons/confusion.js
diff --git a/README.md b/README.md
index 04db35b..4377f6d 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-
LULBOT
+RADIO BOT
- A Discord bot written for your server
+ A Discord Radio bot written for your server
@@ -20,11 +20,17 @@
Before running this project you must create a ```.env``` file which should contains the following keys (This can be changed in the source code)
```
-LUL_BOT_TKN=Your_Discord_Bot_token
-TENOR_TOKEN=Tenor_token // this used for generating gifs
-AIRTABLE_KEY=Airtable_key // this is currently used to store data for my CoD mobile loadouts
+RADIO_BOT_TKN=Your_Discord_Bot_token
+RADIO_CHANNEL= A Voice Channel ID // this voice channel is used for playing music
+NOW_PLAYING_CHANNEL=A Text Channel ID // this channel is used for displaying now playing notifications
+ADMIN_ID = Admin User ID // This is the ID of the admin user who has permission to stop and start Radio
```
+### Commands
+```
+!radioStart // Command to start the Radio
+!radioStop // Command to stop the radio
+```
### Credits
[CodeLyon][codelyon] - For discord.js getting started videos
diff --git a/src/commands/bb.js b/src/commands/bb.js
deleted file mode 100644
index bfd0c3a..0000000
--- a/src/commands/bb.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const axios = require('axios').default;
-const { MessageEmbed } = require('discord.js');
-const instance = axios.create({
- baseURL: 'https://breaking-bad-quotes.herokuapp.com/v1'
-});
-
-async function getRandomQuotes(message, args) {
- const randomQuotesUrl = "/quotes";
- try {
- const result = await instance.get(randomQuotesUrl);
- const { quote, author } = result.data[0];
- const randomQuoteMessage = new MessageEmbed()
- .setDescription(quote)
- .setFooter(`${author}`);
- message.channel.send(randomQuoteMessage);
- } catch (error) {
- const errorMessage = new MessageEmbed()
- .setTitle("Stay out of territory: Error getting quotes from Walter White")
- .setColor("RED");
- message.channel.send(errorMessage);
- }
-}
-
-module.exports = {
- execute(client, message, args) {
- getRandomQuotes(message, args);
- }
-}
\ No newline at end of file
diff --git a/src/commands/dark.js b/src/commands/dark.js
deleted file mode 100644
index 54a486d..0000000
--- a/src/commands/dark.js
+++ /dev/null
@@ -1,29 +0,0 @@
-const axios = require('axios').default;
-const { MessageEmbed } = require('discord.js');
-const instance = axios.create({
- baseURL: 'https://dark-api.herokuapp.com/api/v1'
-});
-
-async function getRandomQuotes(message, args) {
- const randomQuotesUrl = "/quote/random";
- try {
- const result = await instance.get(randomQuotesUrl);
- const { author, season, episode, quote } = result.data;
- const randomQuoteMessage = new MessageEmbed()
- .setDescription(quote)
- .setFooter(`${author}, S${season} : Episode - ${episode}`);
- message.channel.send(randomQuoteMessage);
- } catch (error) {
- const errorMessage = new MessageEmbed()
- .setTitle("Something went wrong: Error getting quotes from Mikkel Nielsen")
- .setColor("RED");
- message.channel.send(errorMessage);
- }
-}
-
-module.exports = {
- execute(client, message, args) {
- getRandomQuotes(message, args);
- }
-}
-
diff --git a/src/commands/got.js b/src/commands/got.js
deleted file mode 100644
index bfb9295..0000000
--- a/src/commands/got.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const axios = require('axios').default;
-const { MessageEmbed } = require('discord.js');
-const instance = axios.create({
- baseURL: 'https://game-of-thrones-quotes.herokuapp.com/v1'
-});
-
-async function getRandomQuotes(message, args) {
- const randomQuotesUrl = "/random";
- try {
- const result = await instance.get(randomQuotesUrl);
- const { sentence, character: { name, house: { name: houseName } } } = result.data;
- const randomQuoteMessage = new MessageEmbed()
- .setDescription(sentence)
- .setFooter(`${name}, ${houseName}`);
- message.channel.send(randomQuoteMessage);
- } catch (error) {
- const errorMessage = new MessageEmbed()
- .setTitle("Something went wrong: Error getting quotes from Arya Stark")
- .setColor("RED");
- message.channel.send(errorMessage);
- }
-}
-
-module.exports = {
- execute(client, message, args) {
- getRandomQuotes(message, args);
- }
-}
\ No newline at end of file
diff --git a/src/commands/jokes.js b/src/commands/jokes.js
deleted file mode 100644
index 578e51b..0000000
--- a/src/commands/jokes.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const fetch = require('node-fetch');
-
-function randomJokes(message) {
- message.channel.startTyping();
- getJokes().then(response => {
- message.channel.stopTyping();
- if (response) {
- message.channel.startTyping();
- message.reply(response.setup);
- setTimeout(() => {
- message.channel.stopTyping();
- message.reply(`||${response.punchline}||`);
- }, 5000);
- }
- });
-}
-
-async function getJokes() {
- return fetch(`https://official-joke-api.appspot.com/jokes/random`)
- .then(res => res.json())
-}
-
-
-module.exports = {
- execute(client,message, args) {
- randomJokes(message);
- }
-}
\ No newline at end of file
diff --git a/src/commands/loadout.js b/src/commands/loadout.js
deleted file mode 100644
index 7580e60..0000000
--- a/src/commands/loadout.js
+++ /dev/null
@@ -1,79 +0,0 @@
-const Airtable = require('airtable');
-const {MessageEmbed} = require('discord.js');
-Airtable.configure({
- endpointUrl: 'https://api.airtable.com',
- apiKey: process.env.AIRTABLE_KEY
-});
-const base = Airtable.base('appppieGLc8loZp5H');
-const AirTableConfigs = {
- MAIN_TABLE: 'cod_loadout',
- WEAPONS_TYPE_TABLE: 'Weapon Types',
- WEAPONS_TABLE: 'Weapons',
- GRID_VIEW: 'Grid view',
- WEAPON_TYPE: 'cod_weapon_type',
- WEAPON_NAME: 'cod_weapon_name',
- MATCH_TYPE: 'cod_match_type',
- ATTACHMENTS: 'cod_weapon_attachments',
-};
-
-async function getCodMLoadOut(message, args) {
- const codUserName = args[0];
- if (!codUserName) return;
- base(AirTableConfigs.MAIN_TABLE).select({
- maxRecords: 2,
- view: AirTableConfigs.GRID_VIEW,
- filterByFormula: `({cod_username} = '${args[0]}')`
- }).eachPage((records, fetchNextPage) => {
- if (records && records.length > 0) {
- records.forEach(async (record) => {
- const weaponType = await getWeaponType(record.get(AirTableConfigs.WEAPON_TYPE));
- const weaponName = await getWeaponName(record.get(AirTableConfigs.WEAPON_NAME));
- const loadOutMessage = new MessageEmbed()
- .setTitle(`Loadout of ${codUserName} : ${record.get(AirTableConfigs.MATCH_TYPE)}`)
- .addField('Weapon Name', weaponName, true)
- .addField('Weapon Type', weaponType, true)
- .addField('Attachments', record.get(AirTableConfigs.ATTACHMENTS), true)
- .setColor("RANDOM");
- message.channel.send(loadOutMessage);
- });
- fetchNextPage();
- } else {
- message.channel.send(`No Loadout found for ***${codUserName}***`);
- }
-
- }, function done(err) {
- if (err) { console.error(err); return; }
- });
-}
-
-async function getWeaponType(weaponType) {
- return new Promise((resolve, reject) => {
- base(AirTableConfigs.WEAPONS_TYPE_TABLE).find(weaponType, (error, record) => {
- if (error) {
- console.log(error);
- reject();
- } else {
- resolve(record.get(AirTableConfigs.WEAPON_TYPE));
- }
- });
- })
-}
-
-async function getWeaponName(weaponName) {
- return new Promise((resolve, reject) => {
- base(AirTableConfigs.WEAPONS_TABLE).find(weaponName, (error, record) => {
- if (error) {
- console.log(error);
- reject();
- } else {
- resolve(record.get(AirTableConfigs.WEAPON_NAME));
- }
- });
- })
-}
-
-module.exports = {
- execute(client,message, args) {
- getCodMLoadOut(message,args);
- }
-}
\ No newline at end of file
diff --git a/src/commands/play.js b/src/commands/play.js
deleted file mode 100644
index 9c2d7a3..0000000
--- a/src/commands/play.js
+++ /dev/null
@@ -1,52 +0,0 @@
-const ytdl = require('ytdl-core');
-const ytSearch = require('yt-search');
-async function playMusik(client, message, args) {
- const voiceChannel = message.member.voice.channel;
- if (!voiceChannel) {
- return message.channel.send("Join a voice channel to Play Music");
- }
- const permission = voiceChannel.permissionsFor(message.client.user);
- if (!permission.has('CONNECT') || !permission.has('SPEAK')) {
- return message.channel.send("You don't have the permission to play music. ๐ฅ");
- }
-
- if (!args.length) {
- return message.channel.send("Please pass something to play as second argument");
- }
-
- const connection = await voiceChannel.join();
- let videoUrl = false;
- let video;
- const youtubeRegex = /(http:|https:)?\/\/(www\.)?(youtube.com|youtu.be)\/(watch)?(\?v=)?(\S+)?/;
- if (youtubeRegex.test(args[0])) {
- video = args[0];
- videoUrl = true;
- } else {
- video = await searchVideo(args.join(' '));
- }
-
- if (video) {
- const youtubeStream = ytdl(videoUrl ? video : video.url, { filter: 'audioonly' });
- client.user.setPresence({ activity: { name: `${video.title}`, type: 'LISTENING' } });
- connection.play(youtubeStream, { seek: 0, volume: 1 })
- .on('finish', () => {
- voiceChannel.leave();
- client.user.setPresence({ activity: { name: ` ` } });
- });
- await message.reply(`Now Playing ${videoUrl ? args[0] : video.title}...`);
- } else {
- message.channel.send("No music found to play for you mate. Try again! ๐");
- }
-}
-
-async function searchVideo(query) {
- const searchResult = await ytSearch(query);
- return (searchResult.videos.length > 1) ? searchResult.videos[0] : null;
-}
-
-
-module.exports = {
- execute(client,message, args) {
- playMusik(client,message,args);
- }
-}
\ No newline at end of file
diff --git a/src/commands/radioStart.js b/src/commands/radioStart.js
new file mode 100644
index 0000000..d9c4ac1
--- /dev/null
+++ b/src/commands/radioStart.js
@@ -0,0 +1,54 @@
+const { VoiceChannel, TextChannel, MessageEmbed } = require("discord.js");
+const axios = require('axios').default;
+
+const instance = axios.create({
+ baseURL: 'http://retrowave.ru/api/v1'
+});
+
+const resourceUrl = 'http://retrowave.ru'
+
+async function broadcastRadio(client, args, message, voiceChannel, textChannel) {
+ const connection = await voiceChannel.join();
+ try {
+ playRadio(connection, textChannel);
+ } catch (error) {
+ console.log(error);
+ textChannel.send('Something went wrong. RADIO MON got ill...๐ฑ๐ฑ');
+ }
+
+}
+
+async function playRadio(connection,textChannel) {
+ const nextMusic = await getNextMusic();
+ const { id, title, streamUrl, artworkUrl } = nextMusic;
+ const nowPlayingMessage = new MessageEmbed()
+ .setTitle("Now Playing")
+ .setDescription(title)
+ .setColor('LUMINOUS_VIVID_PINK')
+ .setThumbnail(`${resourceUrl}${artworkUrl}`);
+ textChannel.send(nowPlayingMessage)
+ connection.play(`${resourceUrl}${streamUrl}`, { seek: 0, volume: 1 })
+ .on('finish', () => {
+ playRadio(connection,textChannel);
+ });
+}
+
+async function getNextMusic() {
+ const result = await instance.get('/tracks?cursor=1&limit=1');
+ return result.data.body.tracks[0];
+}
+
+module.exports = {
+ async execute(client, message, args) {
+ const { RADIO_CHANNEL, NOW_PLAYING_CHANNEL } = process.env;
+ if (!RADIO_CHANNEL) return message.reply(`Please add RADIO_CHANNEL to .env with a Voice Channel ID`);
+ if (!NOW_PLAYING_CHANNEL) return message.reply(`Please add NOW_PLAYING_CHANNEL to .env with a Text Channel ID`);
+
+ const voiceChannel = await client.channels.fetch(process.env.RADIO_CHANNEL);
+ const nowPlayingChannel = await client.channels.fetch(process.env.NOW_PLAYING_CHANNEL);
+ if (!(voiceChannel instanceof VoiceChannel)) return message.reply(`Please provice a Voice Channel ID to the RADIO_CHANNEL`);
+ if (!(nowPlayingChannel instanceof TextChannel)) return message.reply(`Please provice a Text Channel ID to the NOW_PLAYING_CHANNEL`);
+
+ broadcastRadio(client, args, message, voiceChannel, nowPlayingChannel);
+ }
+}
\ No newline at end of file
diff --git a/src/commands/radioStop.js b/src/commands/radioStop.js
new file mode 100644
index 0000000..8d5786d
--- /dev/null
+++ b/src/commands/radioStop.js
@@ -0,0 +1,23 @@
+const { VoiceChannel, TextChannel } = require("discord.js");
+
+async function stopRadioBroadcast(client, args, message, voiceChannel, textChannel) {
+ if (voiceChannel) {
+ await voiceChannel.leave();
+ textChannel.send('RADIO Stopped');
+ }
+}
+
+module.exports = {
+ async execute(client, message, args) {
+ const { RADIO_CHANNEL, NOW_PLAYING_CHANNEL } = process.env;
+ if (!RADIO_CHANNEL) return message.reply(`Please add RADIO_CHANNEL to .env with a Voice Channel ID`);
+ if (!NOW_PLAYING_CHANNEL) return message.reply(`Please add NOW_PLAYING_CHANNEL to .env with a Text Channel ID`);
+
+ const voiceChannel = await client.channels.fetch(process.env.RADIO_CHANNEL);
+ const nowPlayingChannel = await client.channels.fetch(process.env.NOW_PLAYING_CHANNEL);
+ if (!(voiceChannel instanceof VoiceChannel)) return message.reply(`Please provice a Voice Channel ID to the RADIO_CHANNEL`);
+ if (!(nowPlayingChannel instanceof TextChannel)) return message.reply(`Please provice a Text Channel ID to the NOW_PLAYING_CHANNEL`);
+
+ stopRadioBroadcast(client, args, message, voiceChannel, nowPlayingChannel);
+ }
+}
\ No newline at end of file
diff --git a/src/commands/stop.js b/src/commands/stop.js
deleted file mode 100644
index 0c5e3df..0000000
--- a/src/commands/stop.js
+++ /dev/null
@@ -1,17 +0,0 @@
-async function stopMusik(client,message) {
- const voiceChannel = message.member.voice.channel;
-
- if (!voiceChannel) {
- return message.channel.send("Join a voice channel to Execute this command");
- }
-
- await voiceChannel.leave();
- await message.channel.send("Stoping Music... Baye Baye.... ๐
");
- client.user.setPresence({ activity: { name: `COMMANDS`, type: 'LISTENING' } });
-}
-
-module.exports = {
- execute(client,message, args) {
- stopMusik(client, message);
- }
-}
\ No newline at end of file
diff --git a/src/commands/vaccine.js b/src/commands/vaccine.js
deleted file mode 100644
index e1219f2..0000000
--- a/src/commands/vaccine.js
+++ /dev/null
@@ -1,41 +0,0 @@
-const axios = require('axios').default;
-const {MessageEmbed} = require('discord.js');
-const instance = axios.create({
- baseURL: 'https://cdn-api.co-vin.in/api/v2',
- headers: {
- 'accept': '*/*',
- 'accept-language': 'en-US',
- 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
- }
- });
-async function getVaccineAvailablity(message, args) {
- const [pincode, date] = args;
- const url = `/appointment/sessions/public/findByPin?${new URLSearchParams({ pincode, date })}`;
- instance.get(url).then(res => {
- if (res.data && res.data.sessions) {
- const {sessions} = res.data;
- if (sessions && sessions.length > 0 ){
- sessions.forEach(async (session) => {
- const vaccineMessage = new MessageEmbed()
- .setTitle(`${session.name} : ${session.address}`)
- .addField('State', session.state_name, true)
- .addField('District', session.district_name, true)
- .addField('Vaccine', session.vaccine, true)
- .addField('Available Capacity', session.available_capacity, true)
- .addField('Available SLots', session.slots.join("/"), true)
- .setColor("RANDOM");
- message.channel.send(vaccineMessage);
- })
-
- }else {
- message.channel.send(`No Vaccine Available at place with pincode => ${pincode} on ${date}`)
- }
- }
- }).catch(error => message.channel.send(`Error Fetching Data from Cowin`));
-}
-
-module.exports = {
- execute(client, message, args) {
- getVaccineAvailablity(message, args);
- }
-}
\ No newline at end of file
diff --git a/src/commons/confusion.js b/src/commons/confusion.js
deleted file mode 100644
index 7a5d9b8..0000000
--- a/src/commons/confusion.js
+++ /dev/null
@@ -1,22 +0,0 @@
-const {MessageEmbed} = require('discord.js');
-const fetch = require('node-fetch');
-function generateConfusionGif(message) {
- message.channel.startTyping();
- const embed = new MessageEmbed()
- .setDescription(`I dont understand what you are saying <@${process.env.KLIAS_TAG}> do you know what this guy is asking?`)
- .setColor("RANDOM");
- const randomIndex = Math.floor(Math.random() * 49);
- fetch(`https://api.tenor.com/v1/random?key=${process.env.TENOR_TOKEN}&q=I%20dont%20understand&limit=50`)
- .then(res => res.json())
- .then(response => {
- embed.setImage(response.results[randomIndex].media[0].gif.url);
- message.channel.stopTyping();
- message.channel.send(embed);
- });
-}
-
-module.exports = {
- execute(message) {
- generateConfusionGif(message);
- }
-}
\ No newline at end of file
diff --git a/src/configs/commands.config.json b/src/configs/commands.config.json
index af4da0d..cdb7745 100644
--- a/src/configs/commands.config.json
+++ b/src/configs/commands.config.json
@@ -1,44 +1,14 @@
{
"commands" :[
{
- "name": "jokes",
- "description": "Bad Jokes Command",
- "file": "./commands/jokes.js"
+ "name": "radioStart",
+ "description": "Start Radio",
+ "file": "./commands/radioStart.js"
},
{
- "name": "play",
- "description": "Play Music",
- "file": "./commands/play.js"
- },
- {
- "name": "stop",
- "description": "Stop Music",
- "file": "./commands/stop.js"
- },
- {
- "name": "loadout",
- "description": "Get CoD Mobile User Loadout",
- "file": "./commands/loadout.js"
- },
- {
- "name": "vaccine",
- "description": "Get Vaccine Availability by Pincode",
- "file": "./commands/vaccine.js"
- },
- {
- "name": "got",
- "description": "Game of Thrones Quotes",
- "file": "./commands/got.js"
- },
- {
- "name": "bb",
- "description": "Breaking Bad Quotes",
- "file": "./commands/bb.js"
- },
- {
- "name": "dark",
- "description": "Dark Series Quotes",
- "file": "./commands/dark.js"
+ "name": "radioStop",
+ "description": "Stop Radio",
+ "file": "./commands/radioStop.js"
}
]
}
\ No newline at end of file
diff --git a/src/language/language.json b/src/language/language.json
index c788513..9e26dfe 100644
--- a/src/language/language.json
+++ b/src/language/language.json
@@ -1,20 +1 @@
-{
- "hi": "Hey ๐โโ๏ธ. How Are You?",
- "hello": "Hey ๐โโ๏ธ. How Are You?",
- "เดนเดฒเต": "เดนเดฒเตเดฒเดพ.... เดเดคเดพเดฐเดพ.. เดธเตเดเด เดคเดจเตเดจเต?",
- "เดนเดฟ": "เดนเดฒเตเดฒเดพ.... เดเดคเดพเดฐเดพ.. เดธเตเดเด เดคเดจเตเดจเต?",
- "เดเดจเตเดคเตเดเตเดเต เดเดฃเตเดเต เดตเดฟเดถเตเดทเด": "เด
เดเตเดเดฟเดจเต เดชเตเดฃเต...๐คทโโ๏ธ เดธเตเดเดเตเดเดณเตเดเตเดเต เดคเดจเตเดจเต?",
- "enthokke und vishesham": "เด
เดเตเดเดฟเดจเต เดชเตเดฃเต...๐คทโโ๏ธ เดธเตเดเดเตเดเดณเตเดเตเดเต เดคเดจเตเดจเต?",
- "เดฎเดจเตเดธเตเดธเดจเดฒเตเดฒเต เดชเตเดณเตเดณเต": "เดเดฑเดเตเดเดฟเดฏเตเด เดฌเดฑเตเดเตเดเดฏเตเด เดตเตเดฃเดพเดฏเดฟเดฐเดฟเดเตเดเตเด... ๐คฃ๐คฃ๐คฃ",
- "manusanalle pulle": "เดเดฑเดเตเดเดฟเดฏเตเด เดฌเดฑเตเดเตเดเดฏเตเด เดตเตเดฃเดพเดฏเดฟเดฐเดฟเดเตเดเตเด... ๐คฃ๐คฃ๐คฃ",
- "เดจเต เดเดฐเดพ": "เดคเดพเตป เดเดฐเดพเดฃเตเดจเตเดจเต เดคเดจเดฟเดเตเดเต เด
เดฑเดฟเดฏเดพเดจเตเดฎเตเดฒเตเดเตเดเดฟเตฝ เดคเดพเตป เดเดจเตเดจเตเดเต เดเตเดฏเตเดเตเดเต เดคเดพเตป เดเดฐเดพเดฃเตเดจเตเดจเต??? เดคเดจเดฟเดเตเดเต เดเดพเตป เดชเดฑเดเตเดเต เดคเดฐเดพเด เดคเดพเตป เดเดฐเดพเดฃเตเดจเตเดจเต... ๐คช๐คช",
- "nee araa": "เดคเดพเตป เดเดฐเดพเดฃเตเดจเตเดจเต เดคเดจเดฟเดเตเดเต เด
เดฑเดฟเดฏเดพเดจเตเดฎเตเดฒเตเดเตเดเดฟเตฝ เดคเดพเตป เดเดจเตเดจเตเดเต เดเตเดฏเตเดเตเดเต เดคเดพเตป เดเดฐเดพเดฃเตเดจเตเดจเต??? เดคเดจเดฟเดเตเดเต เดเดพเตป เดชเดฑเดเตเดเต เดคเดฐเดพเด เดคเดพเตป เดเดฐเดพเดฃเตเดจเตเดจเต... ๐คช๐คช",
- "kya banana hei": "Thumarah banana kaha hei...๐คฃ๐คฃ",
- "เดเตเดฏเดพ เดฌเดจเดพเดจ เดนเตเดฏเต": "เดคเตเดฎเดฐเดนเต เดฌเดจเดพเดจ เดเดนเดพ เดนเตเดฏเต...๐คฃ๐คฃ",
- "good night": "Good Night ๐. See you tomorrow. ๐๐",
- "ola": "เดเดฒ เด
เดฒเตเดฒ เดคเตเดเตเดเดพ",
- "เด
เดเตเดเดฟเดจเต เดชเดฑเดฏเดพเดคเต": "เดชเดฟเดจเตเดจเต เดเดเตเดเดฟเดจเต เดชเดฑเดฏเดฃเด!!",
- "kool": "เดเดคเตเดฐเต เดกเดฟเดเตเดฐเต เดเดฃเตเดเต? ๐คฃ๐คฃ",
- "cool": "เดเดคเตเดฐเต เดกเดฟเดเตเดฐเต เดเดฃเตเดเต? ๐คฃ๐คฃ",
- "adipoli": "เดฎเต เดฎเต"
-}
\ No newline at end of file
+{}
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index d0bb7d6..1685d3d 100644
--- a/src/main.js
+++ b/src/main.js
@@ -1,32 +1,23 @@
require('dotenv').config();
const fs = require('fs');
const { Client, Collection } = require('discord.js');
-const confusion = require('./commons/confusion');
+const { env } = require('process');
const client = new Client();
client.commands = new Collection();
-let casualMessages = {};
const CMD_PREFIX = "!";
client.on('message', (message) => {
if (message.author.bot) return;
+ if(message.author.id !== process.env.ADMIN_ID) return;
if (message.content.startsWith(CMD_PREFIX)) {
const commandReply = parseCMD(message);
- if (!commandReply) {
- confusion.execute(message);
- }
- } else {
- const replyMessage = parseCasualMessage(message);
- if (replyMessage) {
- message.reply(replyMessage);
- }
- }
+ }
});
client.on('ready', () => {
- console.log("BOT is now LIVE");
+ console.log("RADIO BOT is now LIVE");
initConfig();
- initLanguages();
})
function initConfig() {
@@ -42,20 +33,6 @@ function initConfig() {
})
}
-function initLanguages() {
- fs.readFile('src/language/language.json', 'utf8', (error, data) => {
- if (error) throw error;
- casualMessages = JSON.parse(data);
- });
-}
-
-function parseCasualMessage(message) {
- const { content } = message;
- const parsedMessage = content.trim().toLowerCase();
- if (!casualMessages.hasOwnProperty(parsedMessage)) return null;
- return casualMessages[parsedMessage];
-}
-
function parseCMD(message) {
const [CMD_NAME, ...args] = message.content
.trim()
@@ -73,7 +50,7 @@ function parseCMD(message) {
return true;
}
-client.login(process.env.LUL_BOT_TKN)
+client.login(process.env.RADIO_BOT_TKN)
.catch((error) => {
console.error("BOT Login Failed ", error);
});
--
cgit v1.2.3