{"id":16628246,"url":"https://github.com/coryshaw1/stevebot-discord","last_synced_at":"2026-04-28T15:35:34.844Z","repository":{"id":77180035,"uuid":"96643913","full_name":"coryshaw1/SteveBot-Discord","owner":"coryshaw1","description":"Basic Discord bot with modular command structure for easy addition and removal of commands","archived":false,"fork":false,"pushed_at":"2017-10-06T13:15:09.000Z","size":28,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T15:56:44.309Z","etag":null,"topics":["bot","discord","modular","self-hosted","simple"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coryshaw1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-08T20:58:46.000Z","updated_at":"2017-07-13T07:41:01.000Z","dependencies_parsed_at":"2023-02-24T15:30:19.768Z","dependency_job_id":null,"html_url":"https://github.com/coryshaw1/SteveBot-Discord","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/coryshaw1/SteveBot-Discord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryshaw1%2FSteveBot-Discord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryshaw1%2FSteveBot-Discord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryshaw1%2FSteveBot-Discord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryshaw1%2FSteveBot-Discord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coryshaw1","download_url":"https://codeload.github.com/coryshaw1/SteveBot-Discord/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryshaw1%2FSteveBot-Discord/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261635636,"owners_count":23187886,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","discord","modular","self-hosted","simple"],"created_at":"2024-10-12T04:31:30.341Z","updated_at":"2026-04-28T15:35:24.824Z","avatar_url":"https://github.com/coryshaw1.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SteveBot-Discord [![Build Status](https://travis-ci.org/coryshaw1/SteveBot-Discord.svg?branch=master)](https://travis-ci.org/coryshaw1/SteveBot-Discord) [![Dependency Status](https://david-dm.org/coryshaw1/SteveBot-Discord.svg)](https://david-dm.org/coryshaw1/SteveBot-Discord) [![License](https://img.shields.io/github/license/coryshaw1/stevebot-discord.svg)](https://github.com/coryshaw1/SteveBot-Discord/blob/master/LICENSE)\nA Dubtrack Bot using DubAPI\n\n[Adding commands](#commands)\n[List of commands](#commandslist)\n\n## Requirements\n1. Node\n\n## Installation\n\n*Note* - Windows 10 users may need to `npm install --global --production windows-build-tools` first\n\n1. `npm install`\n2. Create a `settings.json` file using a copy of `example-settings.json`, replacing each variable with your credentials\n3. `node index`\n\n## Thanks\n* [izy521/discord.io](https://github.com/izy521/discord.io) by [@izy521](https://github.com/izy521/discord.io)\n\n# [Adding Commands](#commands)\n\n1. Simply add a `.js` file anywhere inside the `commands` directory (sub-directories are supported). The name of the file will be used as the command, so `ping.js` will add a `ping` command. By default `!ping`, which is based on the `COMMAND_PREFIX` setting that defaults to `!`.\n2. The `.js` just needs to export a single function that takes in 2 parameters, preferrably `bot` and `data`\n```js\nmodule.exports = function (bot, data) {\n};\n```\n* `bot` is the discord.io bot object, used for controlling the bot. Check out the [discord.io docs](https://izy521.gitbooks.io/discord-io/content/) for more info on how to control the bot.\n* `data` is the data of chat command. Available properties of `data` are:\n```js\ndata.user //user object of who sent the chat message\ndata.userID //userID of who sent the chat message\ndata.channelID //Discord channelID of where the chat message was sent\ndata.message //Message body of chat message\ndata.event //Event object of chat message\n```\n3. Now that we have the necessary objects and information, we can simply make the bot respond to the `!ping` command with a message\n```js\nmodule.exports = function (bot, data) {\n    bot.sendMessage({\n        to: data.channelID,\n        message: 'Pong!'\n    });\n};\n```\n* We use the `bot` object passed in the parameters to call the `sendMessage` method. Then using the `data` parameter, we're able to send the message back to the same `channelID` where the command came from!\n\n# [Commands List](#commandslist)\nBelow are the list of commands that have been implemented.\n## Categories\n\n### Bot\n\n* **!bot** - Bot responds with \"I'm still here\"\n* **!delete** - Bot deletes their last message\n* **!ping** - Bot responds with \"Pong!\"\n* **!pong** - Bot responds with \"Ping!\"\n\n### Fun\n* **!beer** - Show a random beer from BreweryAPI\n* **!beer [search term]** - Search for a beer on BreweryAPI\n* **!brewery** - Show a random brewery from BreweryAPI\n* **!brewery [search term]** - Search for a brewery on BreweryAPI\n* **!cage** - Show a random Nicolas Cage picture or gif\n* **!cat** - Show a random cat picture or gif\n* **!chuck** - Random Chuck Norris joke\n* **!coinflip [heads or tails]** - Flips a coin and lets you know if your call was right\n* **!dog** - Show a random dog picture or gif\n* **!fact** - A random inciteful fact\n* **!join** - Join a running raffle\n* **!kitten** - Show a random kitten picture or gif\n* **!lmgtfy [search term]** - Creates a let me Google that for you link based on your search term\n* **!missuniverse** - Having a little fun with Steve\n* **!pickup** - Show a random pickup line (warning: extremely cheesey)\n* **!steve** - Help the rest of the room enjoy Steve even more\n* **!todayfact** - A random inciteful fact about today\n* **!todayholiday** - Let's you know if the current day is a holiday and which holiday it is\n* **!urban [search term]** - Lookup an urban dictionary definition\n\n### Info\n* **!commands** - Basic list of commands\n\n### Twitch\n* **!twitch** - List out all added channels and Twitch emote libraries including BetterTTV\n* **!twitch [channelName]** - List out all emotes for given channel name if they have been added\n* **!twitchadd [channelName]** - Add all emotes for specified Twitch channel name\n* **![twitchEmoji]** - Once a Twitch channel has been added with `!twitchadd [channelName]`, you will be able to simply use the emoticon's name as the command. For example: `!sodaG`\n\nMuch more to come, and suggestions are welcome! Please add an [issue](https://github.com/coryshaw1/SteveBot-Discord/issues) for any requests or bugs!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoryshaw1%2Fstevebot-discord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoryshaw1%2Fstevebot-discord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoryshaw1%2Fstevebot-discord/lists"}