node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »

gameway-discord-bot

Gameway Discord Bot

Discord Bot for Gameway:

  • Multiple Language Support
  • Text To Image Filter
  • Profanity Filter

Installation

$ git clone https://github.com/JustinBack/gameway-discord.git

Now run index.js to initialize everything

Methods:

$ npm start

Or

$ node index.js

Now you will see the following output:

LOG [2017-10-31 15:58:55]  Bot starting...
ERROR [2017-10-31 15:58:55]  Missing conf/TOKEN file! Created...

Head over to conf/ and open the TOKEN file, insert your bot token there.

Start the bot again

Methods:

$ npm start

Or

$ node index.js

If everything worked you will see this:

LOG [2017-10-31 15:59:24]  Bot starting...
LOG [2017-10-31 15:59:24]  Found conf/TOKEN...
LOG [2017-10-31 15:59:24]  Bot Connected | Now listening to messages

Hint: You can run the bot in the background using npm run background_start Available Scripts:

  • background_start
  • background_stop
  • background_restart

Configuration

You can configure the bot with files available in the conf/ folder.

bot.json

bot.json is the main bot configuration

Key Type Description Default Value
bot_status String Game of the Bot None
command_prefix String Command Prefix of the Bot !gway
bot_language String Debug and Bot Language en_US
url_regex_1 String URL Filter Regex (https?:\/\/(.+?\.)?discord\.gg(\/[A-Za-z0-9\-\._~:\/\?#\[\]@!$&'\(\)\\+,;\=])?)
url_regex_1_2 String URL Filter Regex (https?:\/\/(.+?\.)?disc0rd\.gg(\/[A-Za-z0-9\-\._~:\/\?#\[\]@!$&'\(\)\\+,;\=])?)
url_regex_2 String URL Filter Regex (https?:\/\/(.+?\.)?discordapp\.com(\/invite\/[A-Za-z0-9\-\._~:\/\?#\[\]@!$&'\(\)\\+,;\=])?)
url_regex_2_1 String URL Filter Regex (https?:\/\/(.+?\.)?disc0rdapp\.com(\/invite\/[A-Za-z0-9\-\._~:\/\?#\[\]@!$&'\(\)\\+,;\=])?)
url_regex_2_2 String URL Filter Regex (https?:\/\/(.+?\.)?disc0rdapp\.c0m(\/invite\/[A-Za-z0-9\-\._~:\/\?#\[\]@!$&'\(\)\\+,;\=])?)
url_regex_2_3 String URL Filter Regex (https?:\/\/(.+?\.)?discordapp\.c0m(\/invite\/[A-Za-z0-9\-\._~:\/\?#\[\]@!$&'\(\)\\+,;\=])?)
url_regex_3 String URL Filter Regex discord.gg
url_regex_4 String URL Filter Regex discordapp.com/invite
debug_show_messages Boolean Show if you have received a message in the console false
allowed_extensions Array Allowed Extensions for the PTT ["jpg", "jpeg", "png"] GIFs are not possible to transcribe!
authorized_users Array Allowed Users for special commands ["253160415947653120"]
application_database_name String Name for the Database where applications are being inserted applications
application_database_prefix String Prefix for the Database where applications are being inserted gw_

server.json

server.json contains some ID's of the Gameway Server such as Role ID's or the Server ID itself

Key Type Description Default Value
gameway_server_id String Gameway Discord Server ID 306442255009447944
gameway_stranger_role_id String New User Role ID 350544575410077696
gameway_introduction_channel_id String Channel where Join message is being sent 306442255009447944
gameway_applications_channel_id String Channel where Applications are being sent 375350842842284042

Translate

Translating the Bot is very easy! Head to lang/ copy the contents of the en_US.json file, create a new file your_language.json, paste it and translate! Make sure to reflect your changes in the conf/bot.json.

License

MIT License
 
Copyright (c) 2017 Justin Back
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.