Skip to content

justas-d/Stormbot

Repository files navigation

This project is old and dusty. You might find some gems in the modules section but other then that this project is rotten. Stored for archival purpooses.

# Stormbot
A Discord.Net based bot.

### Highlights
* Dynamic Permissions (Role, user and channel Allows/Denies using JSON data)
* Audio streaming from basically most video/audio services (twitch included)
* Basic server management (editing users, roles, channels etc)
* Various announcements (user joined, user left)
* Auto add role on user joins.
* Executing C# code on demand
* Various quality of life features (custom quotes, reminders, custom colors, lmgtfy, coin flipping, vermintide roulette)
* Terraria bridge. (Traveling merchant ivnentory, event notifications, npc notifications, world info, server info etc it's basicalyl a custom terraria client)
* Twitch chat <-> Discord bridge
* Global Twitch and global BTTV emotes.

These are just the main features of this bot. For a comprehensive list of commands see [commands.md](https://github.com/SSStormy/Stormbot/blob/master/docs/commands.md)

Dynamic permissions documentation: [dynperm.md](https://github.com/SSStormy/Stormbot/blob/master/docs/dynperm.md)

#### Branches
Master - what's running on `BeepBoop` bot

Dev - unfinished, untested, or even broken changes.

### Contact
The easiest way you can contact me is via the StormBot test server over [here](https://discord.gg/0lHgknA1Q2RIJK0m)

## Compiling

###### Prerequisites.
* C#6
* .NET 4.6
* StrmyCore
* Discord.Net (slightly modified)
* Discord.Net Modules, Commands, Audio
* A Discord account the bot can log into.
* Livestreamer, ffmpeg, ffprobe, YoutubeExtractor and a Soundcloud API key for audio.
* Microsoft.CodeAnalysis.Scripting for the execute module.
* TerrariaBridge for the Terraria module. (https://github.com/SSStormy/TerrariaBridge)
* TwitchBotBase for the Twitch bridge (https://github.com/SSStormy/TwitchBotBase)
* Pastebin user credentials and a API key

###### Data

You will first want to set up a Data folder (stored in ````Stormbot.Helpers.Constants.DataFolderDir````). 

Then, in the data folder, create a file named ````config-common.json```` and fill it with information in the given json format:

{ // only if using audio "FfmpegDir" : "", "FfprobeDir" : "", "SoundcloudApiKey" : "", "LivestreamerDir" : "",

// only if using the twitch bridge "TwitchOauth" : "", "TwitchUsername" : "",

"PastebinApiKey" : "", "PastebinUsername" : "", "PastebinPassword" : "" }


After that you'll need a ```` credentials.json ```` file in this format:

{ "Email" : "", "Password" : "" }


Compile the bot, and run it.
Then you will want to give it the owner id, stored in ````Stormbot.Helpers.Constants.UserOwner````. You can use the !whoami command to find out your user id.
```

About

A (deprecated) Discord.Net based personal bot.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages