UNPKG

d-bot

Version:

A quirky Discord bot made for single, small, private servers

45 lines (33 loc) 3.2 kB
# D-Bot A quirky Discord bot made for single, small, private servers Requires node `8.2.1` or newer 1. Install: `npm install d-bot` 2. Set up: `config.json` 3. Run: `start bot.bat` 4. ???: `profit` ## About This bot was created for a small server I share with my friends. Running it on multiple servers may have unintended side-effects. You probably don't want to install this bot anyway. But, I do think it's a halfway decent framework for a bot, and there are some interesting addons. Take a look at the code! This bot logs messages, and has several commands that interact with those logs. Currently, this will not work for any messages sent before installing D-Bot, or any sent while D-Bot is offline. I plan to implement history crawling at some point. ## Config Rename `config_example.json` to `config.json` The config file is mostly optional things. You can remove any optional property you don't need. ### Required * `token` *string* - Your bot's token. A long string of letters and numbers. * `owner` *string* - Your Discord ID. Not your user tag, but your actual numeric ID * `prefixes` *array* - Array of strings to prefix your commands with. You can have just one, or many, but they can only be one character each. ### Optional * `adminRole` *string* - Role ID for users permitted to perform admin-like commands such as editing channels. * `privateChannels` *array* - Array of channel ID strings that are ignored when commands such as `find` or `last` are used outside of these channels. When such a command is used inside a private channel, only messages from within that channel are searched. * `noLogServers` *array* - Array of server ID strings that D-Bot will not log messages for * `noLogChannels` *array* - Array of channel ID strings that D-Bot will not log messages for * `allowCustomColors` *boolean* - If true, users can set their username color with the `color` command * `minecraft` *object* - Contains IP and port for a Minecraft server to check the status of * `mumble` *object* - If you have a CommandChannel Mumble server, input your e-mail and API key to check the status * `starbound` *object* - If you have a Starbound server with Multiplay, paste in your server status image URL * `7d` *object* - If you have a 7 Days to Die server, input the server IP and telnet info (see serverconfig.xml) * `userAliases` *object* - Lists of alternate names that users go by, for username lookups within the bot and for getting the username of a user no longer in the server. Property name should be the user ID, value should be an array of strings. * `timezones` *object* - Time zones used with the `time` command. Property names should be [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) time zone names, and the values are aliases shown by the command. ## And Also Eternal thanks and respect to Izy521 for his awesome library, [discord.io](https://github.com/izy521/discord.io), and all the assistance he has provided that helped me get started in bot coding. D-Bot has since moved onto the [Eris](https://github.com/abalabahaha/eris) library by Abalabahaha, which is also awesome. Shout-outs to F&A!