|
9 months ago | |
---|---|---|
includes | 9 months ago | |
node_modules/tvmaze/lib | 2 years ago | |
.gitignore | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
config.example.json | 1 year ago | |
index.js | 9 months ago | |
package.json | 2 years ago | |
yarn.lock | 2 years ago |
The must-have bot for any show-based Discord server (especially The 100 Community's Discord server).
Disclaimer : some of this bot's features are specific to The 100, especially RP. These parts will not be documented on this README, but may be in the wiki.
yarn install
yarn start
Copy config.example.json as config.json
.
You're free to give any name you want to your bot instance :
the full name
will be used in the help embed,
shortName
will be used as bot's username (or name
if not set).
A copyright is shown at end of every embed,
from the package.json's author field :
please fork and contribute to the project if you want to change it,
and in that case, change the config.year
(fork year) if needed.
1 bot instance = 1 guild
(fill field with IDs).
general
: for welcome and goodbye messages (both optional).show_news
: TBDrelease
: for PreDB release notifications (optional)logs
: required for logsadmin
: required for sensitive commands.mod
: TBDmute
: if you have oneIf you (want to) have per-season channels and roles,
the bot will automatically create them, and assign by command.
Set categories.seasons
as the category ID containing the seasons channels.
Channel & role naming format : season-<n>
Look for your show on TVMaze and get its
ID from the URL : tvmaze.com/shows/id.
Put that number in the show.tvMazeID
field.
⚠ Required for the show features (otherwise you don't need that bot xD)
If you want to provide premium host download links using
AllDebrid, fill id
and pass
in show.alldebrid
.
Then, insert your links in data/downloads.json
using the following syntax :
{
"season": {
"episode": {
"release_name": [
"link"
]
}
}
}
You can set multiple episodes (the user will have the choice) and multiple links, preferably from multiple hosters (they will be tested requentially until the link generation work)
⚠ AllDebrid blocks API requests from dedicated servers.
If you want to be notified when a new release of your show
is available on warez websites, PreDB is the solution.
Just enter the beginning of the release name containing the series' name
(for example : The.100
) in the show.releaseName
field.
Type your automated messages in the messages.welcome
and
messages.goodbye
fields, with %m
as the new/old member mention.
⚠ The general channel is required for that feature to work.
If you (want to) topic-based channels, add them as an object into
the topics
array with the following properties :
category
: the channels categoryname
: the topic namemax
: (optional) maximum roles per user for this categoryjoinCommand
: command to get a role (without the prefix)leaveCommand
: command to remove a role (without the prefix)joinMessage
: (optional) announcement when user joinleaveMessage
: (optional) announcement when user leavessort
: (optional) stats sorting mode
position
: (default) channel position in Discord's listname
: channel namemembers
: members countYou can set a fixed color for the bot's embed in embedColor
, or specify
null
for random.
Set either true
or false
wether you want or not enable the spoilers
revealer feature. The only purpose is frustrate people, which makes them
loose the interest in abusing of it :p
Optional because relative to advanced developer commands.
Node modules :
Index for global features only.
episode <SXXEXX>
: get episode infolast
: get last episode airednext
: get next episode to be airedsubscribe <D-days> <hour> [00/15/30/45]
: subscribe to episode
release notificationsepisode <SXXEXX> releases
: get episode releasesseasons
: show seasons listingseason <season>
: set season role (grant access to channels)self
: roles list
stats <self>
: show stats for category
+ user-defined join & leave commands
⚠ Roles name must be identical to channels name (but, case insensitive).
Only work in DM by owner
.
Syntax :
eval
```js
message.channel.send('Hello, world !');
```
Don't forget the prefix before eval
.
KaKi87 (Tiana Lemesle) - Initial work
This project is licensed under the GNU GPLv2 License