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.

Usage

To add Vinny to your own server go here

Full list of commands: commands

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

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Make your changes
  4. Commit your changes: git commit -m ‘Add some feature’
  5. Push to the branch: git push origin my-new-feature
  6. 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.

  1. Have Pip and python 3.5.2+ installed
  2. Clone repo
  3. cd into repo
  4. pip install -r requirements.txt
  5. Make a file Core/config/tokens.txt
  6. 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)
  7. 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

Meme Examples

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

Reddit Examples

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.

Comment Examples

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

Moderation Examples

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 _)

NSFW Examples

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

Vinny Examples

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

  1. Install a few extra python packages:
    • pip install recommonmark
    • pip install sphinx_rtd_theme
    • pip install sphinx sphinx-autobuild
  2. open up command prompt/terminal in the docs/directory and enter the command “make html”
  3. 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

_images/~shit.PNG

~lenny

───█───▄▀█▀▀█▀▄▄───▐█──────▄▀█▀▀█▀▄▄
──█───▀─▐▌──▐▌─▀▀──▐█─────▀─▐▌──▐▌─█▀
─▐▌──────▀▄▄▀──────▐█▄▄──────▀▄▄▀──▐▌
─█────────────────────▀█────────────█
▐█─────────────────────█▌───────────█
▐█─────────────────────█▌───────────█
─█───────────────█▄───▄█────────────█
─▐▌───────────────▀███▀────────────▐▌
──█──────────▀▄───────────▄▀───────█
───█───────────▀▄▄▄▄▄▄▄▄▄▀────────█

~hammer

░░░░░░░░░░░░
▄████▄░░░░░░░░░░░░░░░░░░░░
██████▄░░░░░░▄▄▄░░░░░░░░░░
░███▀▀▀▄▄▄▀▀▀░░░░░░░░░░░░░
░░░▄▀▀▀▄░░░█▀▀▄░▄▀▀▄░█▄░█░
░░░▄▄████░░█▀▀▄░█▄▄█░█▀▄█░
░░░░██████░█▄▄▀░█░░█░█░▀█░
░░░░░▀▀▀▀░░░░░░░░░░░░░░░░░

~doggo

---------------------------

┈┈┈┈╱▏┈┈┈┈┈╱▔▔▔▔╲┈┈┈┈┈
┈┈┈┈▏▏┈┈┈┈┈▏╲▕▋▕▋▏┈┈┈┈
┈┈┈┈╲╲┈┈┈┈┈▏┈▏┈▔▔▔▆┈┈┈
┈┈┈┈┈╲▔▔▔▔▔╲╱┈╰┳┳┳╯┈┈┈
┈┈╱╲╱╲▏┈┈┈┈┈┈▕▔╰━╯┈┈┈┈
┈┈▔╲╲╱╱▔╱▔▔╲╲╲╲┈┈┈┈┈┈┈
┈┈┈┈╲╱╲╱┈┈┈┈╲╲▂╲▂┈┈┈┈┈
┈┈┈┈┈┈┈┈┈┈┈┈┈╲╱╲╱┈┈┈┈┈

~hitler

░░░░░░░░░░░░░░░░░░
░░░░▓▓▀▀██████▓▄▒▒░░░
░░░▀░░░░░░▀▀▀████▄▒░░░
░░▌░░░░░░░░░░░▀███▓▒░░
░▌░░░░░▄▄▄░░░░░░▐█▓▒░░░
░▄▓▀█▌░▀██▀▒▄░░░▐▓▓▓▒░
░█▌░░░░░▀▒░░░▀░░░▐▓▒▒░░
░▌▀▒▄▄░░░░░░░░░░░░░▄▒░░
░▒▄█████▌▒▒░░░░░░░▒▌▒░
░░▓█████▄▒░▒▒▒░░░░░▐░
░░▒▀▓▒░░░░░░░▒▒░▒▒▒▄░
░░▓▒▒▒░░░░░░▒▒▒▒▒░▓░░
░░████▄▄▄▄▓▓▓▒▒░░▐░░
░░░▀██████▓▒▒▒▒▒░▐░

~mario

▒▒▒▒▒▒▒▒▒▄▄▄▄▒▄▄▄▒▒▒
▒▒▒▒▒▒▄▀▀▓▓▓▀█░░░█▒▒
▒▒▒▒▄▀▓▓▄██████▄░█▒▒
▒▒▒▄█▄█▀░░▄░▄░█▀▀▄▒▒
▒▒▄▀░██▄░░▀░▀░▀▄▓█▒▒
▒▒▀▄░░▀░▄█▄▄░░▄█▄▀▒▒
▒▒▒▒▀█▄▄░░▀▀▀█▀▓█▒▒▒
▒▒▒▄▀▓▓▓▀██▀▀█▄▀▒▒▒▒
▒▒█▓▓▄▀▀▀▄█▄▓▓▀█▒▒▒▒
▒▒▀▄█░░░░░█▀▀▄▄▀█▒▒▒
▒▒▒▄▀▀▄▄▄██▄▄█▀▓▓█▒▒
▒▒█▀▓█████████▓▓▓█▒▒
▒▒█▓▓██▀▀▀▒▒▒▀▄▄█▀▒▒
▒▒▒▀▀▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒

~megaman

░░░░░░░░░░▄▄█▀▀▄░░░░
░░░░░░░░▄█████▄▄█▄░░░░
░░░░░▄▄▄▀██████▄▄██░░░░
░░▄██░░█░█▀░░▄▄▀█░█░░░▄▄▄▄
▄█████░░██░░░▀▀░▀░█▀▀██▀▀▀█▀▄
█████░█░░▀█░▀▀▀▀▄▀░░░███████▀
░▀▀█▄░██▄▄░▀▀▀▀█▀▀▀▀▀░▀▀▀▀
░▄████████▀▀▀▄▀░░░░
██████░▀▀█▄░░░█▄░░░░
░▀▀▀▀█▄▄▀░██████▄░░░░
░░░░░░░░░█████████░░░░

~salt

▒▒▒▒▒▒▄▄██████▄
▒▒▒▒▒▒▒▒▒▒▄▄████████████▄
▒▒▒▒▒▒▄▄██████████████████
▒▒▒▄████▀▀▀██▀██▌███▀▀▀████
▒▒▐▀████▌▀██▌▀▐█▌████▌█████▌
▒▒█▒▒▀██▀▀▐█▐█▌█▌▀▀██▌██████
▒▒█▒▒▒▒████████████████████▌
▒▒▒▌▒▒▒▒█████░░░░░░░██████▀
▒▒▒▀▄▓▓▓▒███░░░░░░█████▀▀
▒▒▒▒▀░▓▓▒▐█████████▀▀▒
▒▒▒▒▒░░▒▒▐█████▀▀▒▒▒▒▒▒
▒▒░░░░░▀▀▀▀▀▀▒▒▒▒▒▒▒▒▒
▒▒▒░░░░░░░░▒▒

~feels

───────▄▀▀▀▀▀▀▀▀▀▀▄▄
────▄▀▀░░░░░░░░░░░░░▀▄
──▄▀░░░░░░░░░░░░░░░░░░▀▄
──█░░░░░░░░░░░░░░░░░░░░░▀▄
─▐▌░░░░░░░░▄▄▄▄▄▄▄░░░░░░░▐▌
─█░░░░░░░░░░░▄▄▄▄░░▀▀▀▀▀░░█
▐▌░░░░░░░▀▀▀▀░░░░░▀▀▀▀▀░░░▐▌
█░░░░░░░░░▄▄▀▀▀▀▀░░░░▀▀▀▀▄░█
█░░░░░░░░░░░░░░░░▀░░░▐░░░░░▐▌
▐▌░░░░░░░░░▐▀▀██▄░░░░░░▄▄▄░▐▌
─█░░░░░░░░░░░▀▀▀░░░░░░▀▀██░░█
─▐▌░░░░▄░░░░░░░░░░░░░▌░░░░░░█
──▐▌░░▐░░░░░░░░░░░░░░▀▄░░░░░█
───█░░░▌░░░░░░░░▐▀░░░░▄▀░░░▐▌
───▐▌░░▀▄░░░░░░░░▀░▀░▀▀░░░▄▀
───▐▌░░▐▀▄░░░░░░░░░░░░░░░░█
───▐▌░░░▌░▀▄░░░░▀▀▀▀▀▀░░░█
───█░░░▀░░░░▀▄░░░░░░░░░░▄▀
──▐▌░░░░░░░░░░▀▄░░░░░░▄▀
─▄▀░░░▄▀░░░░░░░░▀▀▀▀█▀
▀░░░▄▀░░░░░░░░░░▀░░░▀▀▀▀▄▄▄▄▄

~pikachu

░░░░█░▀▄░░░░░░░░░░▄▄███▀
░░░░█░░░▀▄░▄▄▄▄▄░▄▀░░░█▀
░░░░░▀▄░░░▀░░░░░▀░░░▄▀
░░░░░░░▌░▄▄░░░▄▄░▐▀▀
░░░░░░▐░░█▄░░░▄█░░▌▄▄▀▀▀▀█
░░░░░░▌▄▄▀▀░▄░▀▀▄▄▐░░░░░░█
░░░▄▀▀▐▀▀░░░░░░░▀▀▌▄▄▄░░░█
░░░█░░░▀▄░░░░░░░▄▀░░░░█▀▀▀
░░░░▀▄░░▀░░▀▀▀░░▀░░░▄█▀

~ayy

░░░░█▒▒▄▀▀▀▀▀▄▄▒▒▒▒▒▒▒▒▒▄▄▀▀▀▀▀▀▄
  ░░▄▀▒▒▒▄█████▄▒█▒▒▒▒▒▒▒█▒▄█████▄▒█
  ░█▒▒▒▒▐██▄████▌▒█▒▒▒▒▒█▒▐██▄████▌▒█
  ▀▒▒▒▒▒▒▀█████▀▒▒█▒░▄▒▄█▒▒▀█████▀▒▒▒█
  ▒▒▐▒▒▒░░░░▒▒▒▒▒█▒░▒▒▀▒▒█▒▒▒▒▒▒▒▒▒▒▒▒█
  ▒▌▒▒▒░░░▒▒▒▒▒▄▀▒░▒▄█▄█▄▒▀▄▒▒▒▒▒▒▒▒▒▒▒▌
  ▒▌▒▒▒▒░▒▒▒▒▒▒▀▄▒▒█▌▌▌▌▌█▄▀▒▒▒▒▒▒▒▒▒▒▒▐
  ▒▐▒▒▒▒▒▒▒▒▒▒▒▒▒▌▒▒▀███▀▒▌▒▒▒▒▒▒▒▒▒▒▒▒▌
  ▀▀▄▒▒▒▒▒▒▒▒▒▒▒▌▒▒▒▒▒▒▒▒▒▐▒▒▒▒▒▒▒▒▒▒▒█
  ▀▄▒▀▄▒▒▒▒▒▒▒▒▐▒▒▒▒▒▒▒▒▒▄▄▄▄▒▒▒▒▒▒▄▄▀
  ▒▒▀▄▒▀▄▀▀▀▄▀▀▀▀▄▄▄▄▄▄▄▀░░░░▀▀▀▀▀▀
  ▒▒▒▒▀▄▐▒▒▒▒▒▒▒▒▒▒▒▒▒▐
  ░▄▄▄░░▄░░▄░▄░░▄░░▄░░░░▄▄░▄▄░░░▄▄▄░░░▄▄▄
  █▄▄▄█░█▄▄█░█▄▄█░░█░░░█░░█░░█░█▄▄▄█░█░░░█
  █░░░█░░█░░░░█░░░░█░░░█░░█░░█░█░░░█░█░░░█
  ▀░░░▀░░▀░░░░▀░░░░▀▀▀░░░░░░░░░▀░░░▀░▀▄▄▄▀

~8ball

_images/~8ball.PNG

~battle

media/~battle.PNG

Reddit Examples

~rr (and ~tr)

picture:

_images/~rr_pic.PNG

text:

_images/~rr_text.PNG

Comment Examples

~comment @Vinny

_images/~comment.PNG

~ryzen

_images/~ryzen.PNG

~games

..image:: /media/~games.PNG

Moderation Examples

~prune

This command will yeild…

_images/~prune.PNG

This result

_images/~prune2.PNG

~kick @kickmeplz

_images/~kick.PNG

~whois @Vinny

_images/~whois.PNG

~whohas

_images/~whohas.PNG

NSFW Examples

( ͡° ͜ʖ ͡°)

Vinny Examples

~stats

_images/~stats.PNG

~info

_images/~info.PNG

~invite

_images/~invite.PNG

~help – PM’d to whomever sent the command

_images/~help.PNG

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

Invite Vinny

To invite Vinny to your server go here