[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] [![LinkedIn][linkedin-shield]][linkedin-url]

Logo

RandBot

PROJECT DISCONTINUED due to lack of interest

Discord bot randomizer. Users can create a list that is stored in MongoDB and the bot can select a random item from this list. · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Bot Commands
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
## About The Project Discord bot created in Python using [discord.py](https://discordpy.readthedocs.io/). The bot can create custom lists using the ?list command and stores those lists in MongoDB. Those lists can also be deleted using the command ?delete. Bot returns 1 random item from the selected list when command ?random is used. The project is now in the beta version. This is the first working version that I am using on my Discord server to randomize drop location in Call of Duty: Warzone. It is currently working, but error handling should be updated and new features can be added. This was a fun project to use on my Discord, but I have decided to share it with others. I am currently hosting the bot as well, so you can also invite the bot to your server instead of running it on your own. ### Built With * [Python](https://www.python.org/) * [MongoDB](https://www.mongodb.com/) ## Getting Started Download the repository and create the MongoDB Atlas database. More details in the Installation section. ### Prerequisites - [Python 3](https://www.python.org/) - Following Python modules are needed. I recommend installing them with [pip](https://pip.pypa.io/en/stable/installing/): - [discord](https://discordpy.readthedocs.io/) - [pymongo](https://pymongo.readthedocs.io/) - [asyncio](https://docs.python.org/3/library/asyncio.html) - [dnspython](https://www.dnspython.org/) - [MongoDB Atlas](https://www.mongodb.com/cloud/atlas) - There is free database option. I am currently using following DB structure "bot.lists", which is also part of the code in commands.py. It can be changed there: ```sh db = clientDB.bot collection = db.lists ``` ### Installation 1. Clone the repo ```sh git clone https://github.com/karlji/RandBot-Discord-Randomizer.git ``` 2. Create Discord bot on [Discord Developer Portal](https://discord.com/developers/docs/intro) & store the bot token to tokens.py - Logo 4. Create [MongoDB Atlas cluster](https://www.mongodb.com/cloud/atlas) with DB structure "bot.lists", Document structure visible below, add IP adress of your bot machine, copy "connection string" to tokens.py - Logo - Logo 5. Run randbot.py 6. Create OAuth2 link on [Discord Developer Portal](https://discord.com/developers/). Options "bot" and "send messages" should be enough. This link can be used to invite bot to Discord servers. - Logo ## Commands Following commands are available: - ?commands - Lists all available commands. - ?list {ListName} - Creates new list. - ?shuffle {ListName} - Randomly selects one item from list. - ?delete {ListName} - Deletes existing list. - ?showlists - Shows existing lists. - ?yesno - Randomly answers Yes/No. - ?8ball - Answers like The Magic 8 Ball. ## Roadmap See the [open issues](https://github.com/github_username/repo_name/issues) for a list of proposed features (and known issues). ## Contributing Contributions are what makes the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## License Distributed under the MIT License. See `LICENSE` for more information. ## Contact Jiri Karlik- [Linkedin](https://www.linkedin.com/in/jiri-karlik/) Project Link: [https://github.com/karlji/RandBot-Discord-Randomizer](https://github.com/karlji/RandBot-Discord-Randomizer) [contributors-shield]: https://img.shields.io/github/contributors/karlji/RandBot-Discord-Randomizer.svg?style=for-the-badge [contributors-url]: https://github.com/karlji/RandBot-Discord-Randomizer/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/karlji/RandBot-Discord-Randomizer.svg?style=for-the-badge [forks-url]: https://github.com/karlji/RandBot-Discord-Randomizer/network/members [stars-shield]: https://img.shields.io/github/stars/karlji/repo.svg?style=for-the-badge [stars-url]: https://github.com/karlji/RandBot-Discord-Randomizer/stargazers [issues-shield]: https://img.shields.io/github/issues/karlji/RandBot-Discord-Randomizer.svg?style=for-the-badge [issues-url]: https://github.com/karlji/RandBot-Discord-Randomizer/issues [license-shield]: https://img.shields.io/github/license/karlji/RandBot-Discord-Randomizer.svg?style=for-the-badge [license-url]: https://github.com/karlji/RandBot-Discord-Randomizer/blob/master/LICENSE.txt [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://www.linkedin.com/in/jiri-karlik/