Welcome to VinnyBot’s documentation!¶
About VinnyBot¶
A side project I have been working on for about 6 months now. In these 6 months Vinny has accumulated over 153,000 users across over 7,000 servers. The codebase is currently undergoing a major redesign and refactor. This is to increase readability for other devs and maintainability. This started as a small hackathon project and the core was not written for a bot of this scale.
Support¶
The best way to get help with Vinny is to go to his support Discord server
Usage of code¶
Vinny is completly open-source under the MIT License. Feel free to use and modify any code as you see fit. Just make sure to mention where you got it from. ;)
Contributing¶
If you want to help by suggesting a feature or update to Vinny the best way is to reach out to me. Either on Vinny’s support sever or by making an issue on his repo. Check it on GitHub
- Fork it!
- Create your feature branch: git checkout -b my-new-feature
- Make your changes
- Commit your changes: git commit -m ‘Add some feature’
- Push to the branch: git push origin my-new-feature
- Submit a pull request :D
Want to try to run Vinny locally?¶
Right now this guide is only for the text module. If you have any problems feel free to reach out to me.
- Have Pip and python 3.5.2+ installed
- Clone repo
- cd into repo
- pip install -r requirements.txt
- Make a file Core/config/tokens.txt
- Make tokens.txt like so:
- ***Discord*** <Discord bot Oauth2 Token> (You need to register a bot with Discord here) ***Bot API*** <bots.discord.pw Token> ***Bot ID*** <BotID> (This also comes from the same link as above) ***Reddit*** <Reddit client secret token> (Retrieved from registering a bot with reddit’s API)
- Run Core/Main.py
Vinny Commands¶
Meme Commands¶
Nice meme
- ~shit – Posts a random shitpost
- ~harambe – Posts a gorilla gif
- ~lenny – Lennyface?
- ~hammer – Vinny brings down the ban hammer
- ~doggo – Doggo or pupper? You decide
- ~hitler – ASCII hitler…
- ~mario – ASCII Mario
- ~megaman – ASCII Megaman
- ~salt – Salty?
- ~feels – Feels bad man
- ~pikachu – Pika Pika
- ~ayy – Lmao
- ~giphy search terms – Searches giphy for a gif or webm matching your search
- ~8ball – Get a response from the magic 8 ball
- ~roll range – Gives a random number from 0 - range (default 10)
- ~battle member optional other member – have a quick skirimsh against another member of the server
Reddit Commands¶
I made this
- ~rr subreddit – Gives random HOT post from given subreddit
- ~tr subreddit – Top HOT post from subreddit right now
- ~cosplay search_terms – Searches for a cosplay meeting the search terms.
- ~cosplaygirls search_terms – Searches for a girl cosplay using the search terms
Comment Commands¶
Pretend to be someone else
- ~comment @user or #channel – Generates a unique comment based on the user/channel post history (Experimental)
- ~ryzen – Hey did you hear about Ryzen?
- ~games – gives a list of games being played by server members right now. In order of most to least played.
Moderation Commands¶
Squire, get the banhammer
- ~prune @user “example” num – Removes the messages from the last num messages from user containing “example”. Mentioning users and defining text are both optional and can be used for as many users or phrases as needed in a single prune command.
- ~kick @username – Kicks all mentioned users
- ~whois @username – Gives info about a user
- ~whohas @role – Gives list of all users with this role
Voice Commands¶
Hello?
- ~play URL – Plays audio in your channel (Youtube, Soundcloud, Twitch, etc)
- ~search tags – Searches youtube and gives a list of videos to choose from
- ~cancel – Cancels a search request
- ~playlist – Gets the playlist of currently playing music
- ~skip – Skips the current song
- ~leave – Makes Vinny leave your voice channel
- ~stop – If an audio stream is playing in your server it stops it
- ~pause – Pauses current audio stream
- ~resume – Resumes audio stream when paused
- ~volume – Set voice volume (Between 0 and 150)
- ~voicestats – Gives info about current audio streams
NSFW Commands¶
Not for kids
- ~togglensfw – Toggles the ‘NSFW lock’ on a channel (Admins only)
- ~nsfw – Tells whether or not nsfw is enabled on a given channel
- ~r34 search_terms – Rule 34 (Multi word tags use _)
Vinny Commands¶
beep boop
- ~stats – Gives stats about Vinny
- ~info – Gives info about Vinny
- ~invite – Gives the link to invite Vinny to a server
- ~help – Gives a command list
VinnyBot Documentation¶
Documentation On … Documentation?¶
Seems silly, but if its hard, no one will do it. And I don’t want that.
Documentation is held on readthedocs.org under the vinnybot project, and is automatically updated whenever new code is pushed. If you’ve never worked with readthedocs before, it utilizes sphinx to create pages from restructured text, a language similar to markdown. I have also made it possible to just use markdown files, so If you don’t want to learn rst, you don’t need to.
Basically each file corresponds to a page on the documentation, with the name of the file corresponding to the name on the sidebar.
Modifying Existing Files¶
Basically just change whatever you want to, and it will build the new docs when the code is pushed to gihub again. Make sure to use whatever language the file is already in (.md - markdown, .rst - restructured text)
Which might leave you asking “How do I check that something I did isn’t broke as hell?”
Building The Site Locally¶
- Install a few extra python packages:
- pip install recommonmark
- pip install sphinx_rtd_theme
- pip install sphinx sphinx-autobuild
- open up command prompt/terminal in the docs/directory and enter the command “make html”
- If all goes according to plan, it will make the website in the _bulid/ directory (This is ignored by git)
Creating A New Page¶
- The files must be stored in the docs/ directory as markdown (.md) or restructured text (.rst)
- Make the name of the file what it will be about, this name will be public.
- add the name of the file to index.rst in the toctree after the files that are already there.
Vinny Examples¶
Meme Examples¶
~shit – Posts a random shitpost from /r/shitpost
~lenny
───█───▄▀█▀▀█▀▄▄───▐█──────▄▀█▀▀█▀▄▄
──█───▀─▐▌──▐▌─▀▀──▐█─────▀─▐▌──▐▌─█▀
─▐▌──────▀▄▄▀──────▐█▄▄──────▀▄▄▀──▐▌
─█────────────────────▀█────────────█
▐█─────────────────────█▌───────────█
▐█─────────────────────█▌───────────█
─█───────────────█▄───▄█────────────█
─▐▌───────────────▀███▀────────────▐▌
──█──────────▀▄───────────▄▀───────█
───█───────────▀▄▄▄▄▄▄▄▄▄▀────────█
~hammer
░░░░░░░░░░░░
▄████▄░░░░░░░░░░░░░░░░░░░░
██████▄░░░░░░▄▄▄░░░░░░░░░░
░███▀▀▀▄▄▄▀▀▀░░░░░░░░░░░░░
░░░▄▀▀▀▄░░░█▀▀▄░▄▀▀▄░█▄░█░
░░░▄▄████░░█▀▀▄░█▄▄█░█▀▄█░
░░░░██████░█▄▄▀░█░░█░█░▀█░
░░░░░▀▀▀▀░░░░░░░░░░░░░░░░░
~doggo
---------------------------
┈┈┈┈╱▏┈┈┈┈┈╱▔▔▔▔╲┈┈┈┈┈
┈┈┈┈▏▏┈┈┈┈┈▏╲▕▋▕▋▏┈┈┈┈
┈┈┈┈╲╲┈┈┈┈┈▏┈▏┈▔▔▔▆┈┈┈
┈┈┈┈┈╲▔▔▔▔▔╲╱┈╰┳┳┳╯┈┈┈
┈┈╱╲╱╲▏┈┈┈┈┈┈▕▔╰━╯┈┈┈┈
┈┈▔╲╲╱╱▔╱▔▔╲╲╲╲┈┈┈┈┈┈┈
┈┈┈┈╲╱╲╱┈┈┈┈╲╲▂╲▂┈┈┈┈┈
┈┈┈┈┈┈┈┈┈┈┈┈┈╲╱╲╱┈┈┈┈┈
~hitler
░░░░░░░░░░░░░░░░░░
░░░░▓▓▀▀██████▓▄▒▒░░░
░░░▀░░░░░░▀▀▀████▄▒░░░
░░▌░░░░░░░░░░░▀███▓▒░░
░▌░░░░░▄▄▄░░░░░░▐█▓▒░░░
░▄▓▀█▌░▀██▀▒▄░░░▐▓▓▓▒░
░█▌░░░░░▀▒░░░▀░░░▐▓▒▒░░
░▌▀▒▄▄░░░░░░░░░░░░░▄▒░░
░▒▄█████▌▒▒░░░░░░░▒▌▒░
░░▓█████▄▒░▒▒▒░░░░░▐░
░░▒▀▓▒░░░░░░░▒▒░▒▒▒▄░
░░▓▒▒▒░░░░░░▒▒▒▒▒░▓░░
░░████▄▄▄▄▓▓▓▒▒░░▐░░
░░░▀██████▓▒▒▒▒▒░▐░
~mario
▒▒▒▒▒▒▒▒▒▄▄▄▄▒▄▄▄▒▒▒
▒▒▒▒▒▒▄▀▀▓▓▓▀█░░░█▒▒
▒▒▒▒▄▀▓▓▄██████▄░█▒▒
▒▒▒▄█▄█▀░░▄░▄░█▀▀▄▒▒
▒▒▄▀░██▄░░▀░▀░▀▄▓█▒▒
▒▒▀▄░░▀░▄█▄▄░░▄█▄▀▒▒
▒▒▒▒▀█▄▄░░▀▀▀█▀▓█▒▒▒
▒▒▒▄▀▓▓▓▀██▀▀█▄▀▒▒▒▒
▒▒█▓▓▄▀▀▀▄█▄▓▓▀█▒▒▒▒
▒▒▀▄█░░░░░█▀▀▄▄▀█▒▒▒
▒▒▒▄▀▀▄▄▄██▄▄█▀▓▓█▒▒
▒▒█▀▓█████████▓▓▓█▒▒
▒▒█▓▓██▀▀▀▒▒▒▀▄▄█▀▒▒
▒▒▒▀▀▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
~megaman
░░░░░░░░░░▄▄█▀▀▄░░░░
░░░░░░░░▄█████▄▄█▄░░░░
░░░░░▄▄▄▀██████▄▄██░░░░
░░▄██░░█░█▀░░▄▄▀█░█░░░▄▄▄▄
▄█████░░██░░░▀▀░▀░█▀▀██▀▀▀█▀▄
█████░█░░▀█░▀▀▀▀▄▀░░░███████▀
░▀▀█▄░██▄▄░▀▀▀▀█▀▀▀▀▀░▀▀▀▀
░▄████████▀▀▀▄▀░░░░
██████░▀▀█▄░░░█▄░░░░
░▀▀▀▀█▄▄▀░██████▄░░░░
░░░░░░░░░█████████░░░░
~salt
▒▒▒▒▒▒▄▄██████▄
▒▒▒▒▒▒▒▒▒▒▄▄████████████▄
▒▒▒▒▒▒▄▄██████████████████
▒▒▒▄████▀▀▀██▀██▌███▀▀▀████
▒▒▐▀████▌▀██▌▀▐█▌████▌█████▌
▒▒█▒▒▀██▀▀▐█▐█▌█▌▀▀██▌██████
▒▒█▒▒▒▒████████████████████▌
▒▒▒▌▒▒▒▒█████░░░░░░░██████▀
▒▒▒▀▄▓▓▓▒███░░░░░░█████▀▀
▒▒▒▒▀░▓▓▒▐█████████▀▀▒
▒▒▒▒▒░░▒▒▐█████▀▀▒▒▒▒▒▒
▒▒░░░░░▀▀▀▀▀▀▒▒▒▒▒▒▒▒▒
▒▒▒░░░░░░░░▒▒
~feels
───────▄▀▀▀▀▀▀▀▀▀▀▄▄
────▄▀▀░░░░░░░░░░░░░▀▄
──▄▀░░░░░░░░░░░░░░░░░░▀▄
──█░░░░░░░░░░░░░░░░░░░░░▀▄
─▐▌░░░░░░░░▄▄▄▄▄▄▄░░░░░░░▐▌
─█░░░░░░░░░░░▄▄▄▄░░▀▀▀▀▀░░█
▐▌░░░░░░░▀▀▀▀░░░░░▀▀▀▀▀░░░▐▌
█░░░░░░░░░▄▄▀▀▀▀▀░░░░▀▀▀▀▄░█
█░░░░░░░░░░░░░░░░▀░░░▐░░░░░▐▌
▐▌░░░░░░░░░▐▀▀██▄░░░░░░▄▄▄░▐▌
─█░░░░░░░░░░░▀▀▀░░░░░░▀▀██░░█
─▐▌░░░░▄░░░░░░░░░░░░░▌░░░░░░█
──▐▌░░▐░░░░░░░░░░░░░░▀▄░░░░░█
───█░░░▌░░░░░░░░▐▀░░░░▄▀░░░▐▌
───▐▌░░▀▄░░░░░░░░▀░▀░▀▀░░░▄▀
───▐▌░░▐▀▄░░░░░░░░░░░░░░░░█
───▐▌░░░▌░▀▄░░░░▀▀▀▀▀▀░░░█
───█░░░▀░░░░▀▄░░░░░░░░░░▄▀
──▐▌░░░░░░░░░░▀▄░░░░░░▄▀
─▄▀░░░▄▀░░░░░░░░▀▀▀▀█▀
▀░░░▄▀░░░░░░░░░░▀░░░▀▀▀▀▄▄▄▄▄
~pikachu
░░░░█░▀▄░░░░░░░░░░▄▄███▀
░░░░█░░░▀▄░▄▄▄▄▄░▄▀░░░█▀
░░░░░▀▄░░░▀░░░░░▀░░░▄▀
░░░░░░░▌░▄▄░░░▄▄░▐▀▀
░░░░░░▐░░█▄░░░▄█░░▌▄▄▀▀▀▀█
░░░░░░▌▄▄▀▀░▄░▀▀▄▄▐░░░░░░█
░░░▄▀▀▐▀▀░░░░░░░▀▀▌▄▄▄░░░█
░░░█░░░▀▄░░░░░░░▄▀░░░░█▀▀▀
░░░░▀▄░░▀░░▀▀▀░░▀░░░▄█▀
~ayy
░░░░█▒▒▄▀▀▀▀▀▄▄▒▒▒▒▒▒▒▒▒▄▄▀▀▀▀▀▀▄
░░▄▀▒▒▒▄█████▄▒█▒▒▒▒▒▒▒█▒▄█████▄▒█
░█▒▒▒▒▐██▄████▌▒█▒▒▒▒▒█▒▐██▄████▌▒█
▀▒▒▒▒▒▒▀█████▀▒▒█▒░▄▒▄█▒▒▀█████▀▒▒▒█
▒▒▐▒▒▒░░░░▒▒▒▒▒█▒░▒▒▀▒▒█▒▒▒▒▒▒▒▒▒▒▒▒█
▒▌▒▒▒░░░▒▒▒▒▒▄▀▒░▒▄█▄█▄▒▀▄▒▒▒▒▒▒▒▒▒▒▒▌
▒▌▒▒▒▒░▒▒▒▒▒▒▀▄▒▒█▌▌▌▌▌█▄▀▒▒▒▒▒▒▒▒▒▒▒▐
▒▐▒▒▒▒▒▒▒▒▒▒▒▒▒▌▒▒▀███▀▒▌▒▒▒▒▒▒▒▒▒▒▒▒▌
▀▀▄▒▒▒▒▒▒▒▒▒▒▒▌▒▒▒▒▒▒▒▒▒▐▒▒▒▒▒▒▒▒▒▒▒█
▀▄▒▀▄▒▒▒▒▒▒▒▒▐▒▒▒▒▒▒▒▒▒▄▄▄▄▒▒▒▒▒▒▄▄▀
▒▒▀▄▒▀▄▀▀▀▄▀▀▀▀▄▄▄▄▄▄▄▀░░░░▀▀▀▀▀▀
▒▒▒▒▀▄▐▒▒▒▒▒▒▒▒▒▒▒▒▒▐
░▄▄▄░░▄░░▄░▄░░▄░░▄░░░░▄▄░▄▄░░░▄▄▄░░░▄▄▄
█▄▄▄█░█▄▄█░█▄▄█░░█░░░█░░█░░█░█▄▄▄█░█░░░█
█░░░█░░█░░░░█░░░░█░░░█░░█░░█░█░░░█░█░░░█
▀░░░▀░░▀░░░░▀░░░░▀▀▀░░░░░░░░░▀░░░▀░▀▄▄▄▀
~8ball
~battle
Moderation Examples¶
~prune
This command will yeild…
This result
~kick @kickmeplz
~whois @Vinny
~whohas
NSFW Examples¶
( ͡° ͜ʖ ͡°)
VinnyBot¶
Vinny is an under development discord bot created by Kikkia. Since Vinny is under current development, Vinny may rarely crash or drop offline for short periods of time as I find/fix bugs and add features. Vinny offers a wide set of features for any discord server. Including Music, Memes, Comment generation, and Much more. For a full list type ‘~help’ in a channel vinny is in. Vinny uses the Discord.py framework, as well as voice with JDA and lavaplayer.
Vinny Server¶
Vinny has his own discord server where you can suggest features, report bugs, or just talk with other users and developers of vinny. Invite Link