Skip to content

Commit

Permalink
V4.2.0 (#42)
Browse files Browse the repository at this point in the history
* feat(stats): add total guilds count

* feat(stats): add sent xp cards to internal stats

* fix(stats): rss internal stats

* Hindi Translations (#31)

* Create hi.json

* Update source file en.json (#32)

* fix(tr): hi translations

* New Crowdin updates (#33)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* fix(interaction): wrong attribute

* fix(sql): SELECT query detection

* fix(stats): commands usage SQL query

* fix(usernames): dates field in embed

* fix(pep8): markdown usage

* fix(antiscam): weird discord behavior

* feat(logs): add years in verification/leave logs

* remove(moderation): custom verification system

* refract: split libs.classes file

* refract(pep8): method names

* feat(reminders): new selector when batch deleting

* feat(rss): use new paginated selector

* feat(info): add ID length to `info id`

* fix(help): JSON file format

* refract(hw): halloween-related code

* feat(admin): add logs when syncing commands

* refract(logs): allow passing 1 embed only

* feat(event): add halloween event

* feat(hw): convert hw commands to hybrid

* refract(errors): linting and things

* feat(error): better error response

* refract(hw): remove useless import

* feat(rss): add feed enable/disable commands

* feat(stats): add disabled rss, remove translations

* refract(rss): prettify some code

* feat(stats): add dailies points

* fix(stats): is_sum column

* feat(antiscam): log antiscam warnings

* feat(paginator): add pages count

* doc(perms): update Discord link about admin perm

* feat(events): halloween 2022

* refract(event): standardize random reaction system

* fix(admin): commands response time

* refract(events): better-looking code

* refract(events): event rank card system

* feat(admin): add commands for rank cards

* refract(event): points and colors

* feat(event): actually correct halloween 2022 date

* refract: remove translations cog loading

* fix(paginator): unselecting items

* feat(rss): disable feeds with too many errors

* refract(rss): remove duplic. disabled feeds stats

* feat(stats): add event points stats

* feat(event): add leaderboard to rank command

* feat(fun): add movie command

* doc: v4.1.3

* New Crowdin updates (#34)

* New translations en.json (Hindi)

* New translations en.json (LOLCAT)

* Update source file en.json

* New translations en.json (LOLCAT)

* Update source file en.json

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* fix(events): wait for the bot to be ready

* fix(movie): fields values

* fix(admin): owner reload feedback

* fix(rss): loop log

* fix(admin): faq update command

* fix(stats): disabled feeds

* fix(halloween): use replies and hide year

* fix(event): dont list non participants in top5

* fix(halloween): remove old commands names

* refract(halloween): fix typing, improve check

* feat(stats): add enabled serverlogs stat

* fix(stats): dont send antiscam/tickets if null

* refract(rss): remove unusued import

* feat(doc): add zbot ToS

* fix(rss): invalid twitch URL

* refract(antiscam): linting things

* fix(stats): tickets events

* fix(stats): code lines count including strings

* refract(loop): move translations loops in its cog

* fix(stats): SQL syntax error

* fix(tickets): opening with a topic with no emoji

* feat(antiscam): publish unicode map

* refract(antiscam): use websites list from database

* feat(antiscam): update unicode map

* feat(antiscam): add cmd to refresh database

* feat(antiscam): add beginning of model training

* feat(antiscam): improve model training and save it

* New Crowdin updates (#36)

* Update source file en.json

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* doc: v4.1.4

* fix(dependencies): pin LRFutils version

* refract(error): exception handling

* refract(admin): hide eval command

* feat(help): add category emojis and small QoL

* fix(unban): error when user not found

* feat(cases cog): linting

* feat(stats): add activated antiscam count

* refract(admin): fix linting

* feat(ConfirmView): add send_confirmation option

* feat(config): config command is now hybrid

* fix(rss): weird Twitter url redirection

* feat(event): planification for no-challenge events

* feat(slash): add auto command mention formatter

* feat(slash): use cmd mentions when possible

* fix(admin): app commands sync

* feat(slash): migrate ticket commands

* fix(config): deleted options

* fix(help): tickets cmd category

* feat(deps): upgrade discord.py

* feat(twitch): start new plugin

* refract(help): help when no subcommand invoked

* feat(twitch): add logic commands

* fix(rss): feed selection when only one feed exists

* feat(slash): global commands actually global

* fix(stats): hide more private commands

* feat(twitch): help and cooldown

* fix(cache): server config cache

* feat(twitch): add max streamers count

* feat(twitch): add translations

* fix(tr): outdated tip

* feat(tr): allow translation from Context object

* fix(start): unicode file reading

* feat(config): pagination, yay!

* feat(slash): convert antiscam

* fix(doc): typo in pong cmd

* feat(mod): remove pin cmd

* fix(requirements): scikit-learn

* refract(servers): merge beta and release tables

* feat(twitch): start notifications system

* fix(events): crash when Rss is not loaded

* fix(sql): remove "servers_beta" table

* refract(xp): rank card font usage

* feat(xp): rank card fallback to embed/txt

* feat(slash): migrate clear and slowmode

* fix(twitch): loop delay

* feat(clear): cleanup code

* fix(server): config modification

* feat(slash): convert kick

* feat(modlogs): add reason in timeout

* fix(server): muted_role default value

* refract(args): converters typing

* feat(slash): convert more mod commands

* fix(find): unloaded cogs

* feat(stats): update ignored guilds list

* fix(temp): timezone issues in tempmute/tempban

* feat(view): improve paginator UX

* feat(slash): migrate even more mod commands

* fix(rmd): reminders deletion

* feat(mutelist): pagination

* feat(perms): slash + better UI

* fix(admin): send_msg command

* feat(cases): use pagination

* feat(doc): v4.2.0

* fix(twitch): variable name

* feat(errors): anti spam blocker

* feat(stats): add slash commands usage

* refractor(logs): username change logs registration

* feat(stats): more optimization

* feat(events): christmas 2022 event

* feat(stats): add serverlogs emission stats

* refract(assets): move assets folder one up

* refract(assets): rename cards folder

* feat(assets): gitignore files

* feat(stats): first try for total RAM stats

* refract(stats): fix comments

* feat(twitch): add streaming alerts

* feat(twitch): correct error for invalid twitch names

* feat(twitch): grant streamer role

* feat(twitch): better streamers list

* feat(twitch): add roles and improve notifications

* feat(twitch): allow subscribing by URL

* feat(muteconfig): improve confirmation msg

* feat(confirm): disable buttons after a choice

* fix(config): autocompletion typing

* feat(twitch): add permission check

* feat(modlogs): add autocompletion

* feat(twitch): add API caching

* feat(antiscam): report by right-clicking

* New Crowdin updates (#38)

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* feat(event): add christmas 2022 banner

* feat(start): add axobot

* feat(axo): make zbot ignore input when axobot

* fix(serverlogs): check axobot presence

* fix(serverconfig): default value usage

* refract(twitch): logs call

* feat(admin): git pull

* feat(admin): allow packages installation when pull

* fix(modlogs): kick event when bot leaves

* fix(stats): number formating

* feat(config): add missing translations

* fix(twitch): permissions check

* doc(twitch): add documentation

* fix(modlogs): permissions check

* fix(help): permissions cmd category

* fix(help): category of sub-sub-command

* fix(perms): permission checks

* feat(stats): use entity_id instead of beta boolean

* fix(stats): get_stats SQL query

* feat(axo): check by channel for support server

* fix(reminders): datetime comparison

* feat(rss): log active guilds change

* feat(rss): deprecate active_guild column

* fix(xp): rank card cleanup

* fix(xp): top with no page

* feat(axo): improve axobot changelog

* fix(doc): invitation url

* feat(doc): add axobot to readme

* feat(axo): update bot invite url

* refract(events): unusued attribute

* fix(partners): axobot transition

* refract(doc): remove Zbot references

* feat(roles_react): remove author control

* feat(stats): add backup size

* fix(stats): backup size detection

* doc(modlogs): add examples and doc link

* fix(errors): cooldown seconds notation

* feat(modlogs): add channel argument

* fix(lint): unneeded tab

* feat(ctx): allow to easily send json

* feat(doc): add axobot doc url

* feat(config): improve compatibility with threads

* fix(rss): better exception handler in loop

* feat(loops): ping when a loop breaks

* fix(logs): guild join internal log

* New Crowdin updates (#39)

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* Small fixes on axobot + streams (#40)

* feat(stats): use entity_id instead of beta boolean

* feat(axo): check by channel for support server

* feat(axo): improve axobot changelog

* fix(doc): invitation url

* feat(event): add christmas event

* feat(axo): better migration support

* feat(doc): add axobot doc url

* feat(config): improve compatibility with threads

* fix(rss): better exception handler in loop

* feat(loops): ping when a loop breaks

* fix(logs): guild join internal log

* New Crowdin updates (#39)

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* fix(event): christmas collect outside of christmas

* fix(stats): total guilds count

* feat(axo): improve migration message

* Fix Christmas event

* Fix Christmas event (bis)

* Fix Christmas event (bis)

* fix(stats): stats cmds command

* feat(welcome): use command mention

* refract(stats): reduce rows count

* feat(movie): delete command

* feat(say): allow bot admins to bypass check

* fix(admin): error when deleting invocation

* doc(perms): update permissions list

* New Crowdin updates (#41)

* Update source file en.json

* Update source file en.json

* New translations en.json (LOLCAT)

* Update source file en.json

* New translations en.json (LOLCAT)

* New translations en.json (LOLCAT)

* feat(axo): new migration alert

* feat(update): disable zbot changelogs in support

Co-authored-by: Devendra Poonia <[email protected]>
Co-authored-by: Awhikax <[email protected]>
  • Loading branch information
3 people authored Jan 7, 2023
1 parent 753ccae commit a3393a6
Show file tree
Hide file tree
Showing 136 changed files with 3,524 additions and 1,944 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ZBot V4 - A Discord Bot
# Axobot V4 - A Discord Bot

[![discord.py](https://img.shields.io/badge/Discord.py-2.0-brightgreen.svg)](https://github.com/Rapptz/discord.py)
[![Docs status](https://readthedocs.org/projects/zbot/badge/?version=latest)](https://zbot.readthedocs.io)
Expand All @@ -8,15 +8,15 @@
[![GitHub Super-Linter](https://github.com/ZRunner/ZBot/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter)

[![Discord server](https://discord.com/api/v8/guilds/356067272730607628/widget.png)](https://discord.gg/N55zY88)
[![Discord bot](https://top.gg/api/widget/status/486896267788812288.svg)](https://zrunner.me/invitezbot)
[![Discord bot](https://top.gg/api/widget/status/486896267788812288.svg)](https://zrunner.me/invite-axobot)

Welcome to the ZBot bot documentation, a Discord bot coded in Python 3 by a small French developer, **Z_runner**. You will find in the documentation all the explanations on each of the usable commands, as well as the list of the last additions and some code examples. The documentation is currently in English but the bot is available in several languages, including its main language, French.
Welcome to the Axobot (previously ZBot) bot documentation, a Discord bot coded in Python 3 by a small French developer, **Z_runner**. You will find in the documentation all the explanations on each of the usable commands, as well as the list of the last additions and some code examples. The documentation is currently in English but the bot is available in several languages, including its main language, French.

Full documentation can be found on the [ReadTheDocs](https://zbot.readthedocs.io/en/latest/) page

## The Bot

ZBot is a multifunction Discord bot, which allows among other things to :
Axobot is a multifunction Discord bot, which allows among other things to :

- moderate a server
- get information about a member/role/channel...
Expand Down
Empty file added assets/card-models/.gitkeep
Empty file.
Empty file added assets/cards/.gitkeep
Empty file.
Empty file added assets/images/.gitkeep
Empty file.
2 changes: 1 addition & 1 deletion docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = Zbot
SPHINXPROJ = Axobot
SOURCEDIR = .
BUILDDIR = _build

Expand Down
6 changes: 3 additions & 3 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@

# -- Project information -----------------------------------------------------

project = 'ZBot'
project = 'Axobot'
copyright = '2019 - 2022, ZRunner'
author = 'ZRunner'

# The short X.Y version
version = '4.1'
version = '4.2'
# The full version, including alpha/beta/rc tags
release = '4.1.4'
release = '4.2.0'


# Example configuration for intersphinx: refer to the Python standard library.
Expand Down
2 changes: 1 addition & 1 deletion docs/fun.rst
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ Any of you like pizza here? Those beautiful dripping pieces of melted cheese and
Pong
----

**Syntax:** :code:`ping`
**Syntax:** :code:`pong`

This is probably the most useless command in the bot. Try it, you may (maybe) not be disappointed!

Expand Down
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Translations of the Zbot `Privacy Policy <legal/privacy.html>`_ and its `Terms o
minecraft
rss
roles-reactions
streamers
fun
miscellaneous

Expand Down
12 changes: 5 additions & 7 deletions docs/moderator.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,13 @@ Clear

**Syntax:** :code:`clear <number> [parameters]`

This command allows you to efficiently delete messages, with a list of possible parameters for more accuracy. You can thus specify a list of members to check by mentioning them, `+i` to delete all messages containing files/images, `+l` for those containing links or Discord invitations, `+p` for pinned messages. By default, the bot will not delete pinned messages.
This command allows you to efficiently delete messages, with a list of possible parameters for more accuracy. You can thus specify a list of members to check by mentioning them, if it should delete all messages containing files/images, or all containing links or Discord invitations, or even pinned messages. By default, the bot will not delete pinned messages.

Be careful, all specified settings must be validated for the message to be deleted. For example, if you enter :code:`clear 10 @Z_runner#7515 +i`, the bot will check in the last ten messages if the message comes from Z_runner#7515 AND if the message contains an image.
Be careful, all specified settings must be validated for the message to be deleted. For example, if you enter :code:`/clear 10 users: @Z_runner#7515 contains_file: True`, the bot will check in the last ten messages if the message comes from Z_runner#7515 AND if the message contains an image.

If you enter :code:`clear 25 -p +l`, the bot will clear the last 25 messages if they contains a link AND if they're not pinned, no matter the author.
If you enter :code:`/clear 25 contains_url: True`, the bot will clear the last 25 messages if they contains a link AND if they're not pinned, no matter the author.

If you enter :code:`clear 13 -p -i @Z_runner#7515`, the bot will clear the last 13 messages if they are not pinned AND if they does not contain any file/image AND if the author is Z_runner#7515.

If you enter :code:`clear 1000 @Z_runner#7515 @ZBot beta#4940`, the bot will delete all messages contained in the last 1000 messages of the channel AND written by Z_runner#7515 OR ZBot beta#4940
If you enter :code:`/clear 1000 users: @Z_runner#7515 @ZBot beta#4940`, the bot will delete all (not pinned) messages contained in the last 1000 messages of the channel AND written by Z_runner#7515 OR ZBot beta#4940

.. warning:: The permissions "`Manage messages <perms.html#manage-messages>`__" and "`Read messages history <perms.html#read-message-history>`__" are required.

Expand Down Expand Up @@ -233,7 +231,7 @@ To help you moderate your server and keep track of what's going on, Zbot has a l
How to setup logs
-----------------

You can enable one or more logs types in a channel by using the :code:`modlogs enable <logs>` in the channel you want them to appear in. In the same way, use :code:`modlogs disable <logs>` to disable a kind of logs in the current channel. Please note that you can use the keyword "all" as a log type to enable or disable all at the same time.
You can enable one or more logs types in a channel by using the :code:`modlogs enable <logs> [channel]` in the channel you want them to appear in (or in another channel by mentionning it). In the same way, use :code:`modlogs disable <logs> [channel]` to disable a kind of logs in the current channel. Please note that you can use the keyword "all" as a log type to enable or disable all at the same time.

To see in Discord which logs exists and which ones you have enabled in your server, use the command :code:`modlogs list`. You can also use this command followed by a channel mention or ID to see which logs are enabled in a specific channel.

Expand Down
75 changes: 40 additions & 35 deletions docs/perms.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ The permissions given to members is an important part in the configuration of a

.. warning:: Never *never* **never NEVER** never *(yes, 5 times never)* put a bot with administration permissions. It has already happened once that the bot's security key is stolen, which allows the thief to take full control of the bot, such as deleting your channels or banning your members. Even though safety has been completely redesigned since this incident, zero risk is not possible. See `this official note from Discord <https://discord.com/moderation/1500000176222-201-permissions-on-discord#title-2>`__ for more information.


-------------------
General Permissions
-------------------
Expand All @@ -15,78 +16,76 @@ Administrator

Grant every possible permission in the server. Someone with this permission will not have any restriction, except deleting the server and editing the roles above them. Not recommended to anyone, even a bot.


View Audit Log
--------------

Allows the bot to read server logs (adding roles, changing names, editing channels...). Not necessary for the moment


Manage Server
-------------

Allows the bot to change the name, image and region of the server, or get the list of all invites. Used for: `invite <infos.html#invite>`__


Manage Roles
------------

Allows the bot to create and delete roles, or edit the permissions of roles lower than his own, and to give them to other members. Examples of use: `mute <moderator.html#mute-unmute>`__, `voice roles <server.html#voice-channels-managment>`__


Manage Channels
---------------

Allows the bot to create, delete and modify channels (create invitations for example). Examples of use: `membercounter option <server.html#list-of-every-option>`__, `voice channels automation <server.html#voice-channels-managment>`__


Kick Members
------------

Allows the bot to eject a member from the server. Examples of use: `kick <moderator.html#kick>`__ `anti-raid system <moderator.html#anti-raid>`__


Ban Members
-----------

Allows the bot to ban or unban a member from the server, as well as to consult the list of banned members. Examples of use: `ban <moderator.html#ban>`__ , `unban <moderator.html#id4>`__, `banlist <moderator.html#banlist>`__, `softban <moderator.html#softban>`__

Time out Members
----------------

Allows the bot to temporarily mute a member, preventing them to send messages, add reactions, and speak in voice channels. Examples of use: `mute <moderator.html#mute-unmute>`__

Create Invite
-------------

Allows the bot to create invitations to any visible room, without being able to modify or delete them. Not used.


Change Nickname
---------------

Allows the bot to change your own nickname. Not used at this moment.


Manage Nickname
---------------

Allows the bot to change the nickname of any member hierarchically equal or inferior to you. Example of use: `unhoist command <moderator.html#unhoist-members>`__

Manage Emojis / Manage Stickers
-------------------------------

Manage Emojis
-------------

Allows the bot to add, rename or delete emojis from the server. Example of use: `emoji <moderator.html#emoji-manager>`__

Allows the bot to add, rename or delete emojis and stickets from the server. Example of use: `emoji <moderator.html#emoji-manager>`__

Manage Webhooks
---------------

Allows the bot to read, add, modify or delete `webhooks <https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks>`__ . Example of use: `infos <infos.html#info>`__


Read Text Channels & See Voice Channels
---------------------------------------

Allows the bot to see chats and voice channels. This permission does not allow you to write in these chats or connect to the voice channels. Required for the bot.

Manage Events
-------------

Allows to create, edit and cancel server events. Not used at this moment.


----------------
Text Permissions
Expand All @@ -98,64 +97,71 @@ Read Messages/See channel
Allows the bot to read messages from a chat, but not the history. In other words, the bot will react to your messages but will not be able to read them again. Remove this permission in a channel to prevent the bot from being there.


Send Messages
-------------

Allows the bot you to write messages in text channels. Required for almost all functionalities, but not necessarily for all channels.
Send Messages / Send Messages in Threads
----------------------------------------

Allows the bot you to write messages in text channels and threads. Required for almost all functionalities, but not necessarily for all channels.

Send TTS Messages
-----------------

Allows the bot to send a TTS message, i.e. a message that will be read aloud by your application. No need for the bot.

Create Public/Private Threads
-----------------------------

Manage Messages
---------------
Allows the bot to create public or private threads in text channels. Required for the `tickets system <tickets.html>`__ when configured to create threads.

Allows the bot to pin or delete any message. Examples of use: `mute <moderator.html#mute-unmute>`__ , `freeze <moderator.html#freeze>`__ , `clear <moderator.html#clear>`__ , `purge <moderator.html#purge>`__ , `fun commands <fun.html>`__
Send TTS Messages
-----------------

Allows the bot to send a TTS (text-to-speech) message, i.e. a message that will be read aloud by your application. No need for the bot.

Embed Links
-----------

Allows the bot the bot to send an embed. Some commands will need that permissions, some others will only look worse. Examples of use for a better display: `membercount <infos.html#membercount>`__ , `mojang <minecraft.html#mojang>`__, `XP system <user.html#xp-system>`__ . Examples of required permission: `infos <infos.html#info>`__ , `mc <minecraft.html#mc>`__ , `config see <server.html#watch>`__, `embeds generator <miscellaneous.html#embed>`__


Attach Files
------------

Allows the bot to send files (such as images) in a channel. Examples of use: `fun commands <fun.html>`__, `XP cards <user.html#check-the-xp-of-someone>`__


Read Message History
--------------------

Allows the bot to read the history of all messages in a channel. Examples of use: `clear <moderator.html#clear>`__ , `purge <moderator.html#purge>`__ , `some fun commands <fun.html>`__


Mention @veryone, @here and @All Roles
Mention @veryone, @here and All Roles
--------------------------------------

Allows the bot to mention any role *including* @everyone (which results in sending a notification to all members with access to the channel) and @here (sends a notification to all online members with access to the channel). Zbot uses a great Discord protection to avoid unwanted mentions, so you should be safe granting it. Example of use: `rss follows with mentions <rss.html#mention-a-role>`__


Use External Emojis
-------------------

Allows the bot to use emojis from any other server. The bot uses them in many situations to diversify emotions, so it is strongly recommended to keep it activated.

Use External Stickers
---------------------

Allows the bot to use stickers from any other server. Bots cannot use stickers atm, so this permission has no effect.

Manage Messages
---------------

Allows the bot to pin or delete any message. Examples of use: `mute <moderator.html#mute-unmute>`__ , `freeze <moderator.html#freeze>`__ , `clear <moderator.html#clear>`__ , `purge <moderator.html#purge>`__ , `fun commands <fun.html>`__

Manage Threads
--------------

Allows the bot to edit and delete threads. Not used at this moment.

Add Reactions
-------------

Allows the bot you to add reactions to a message, whether they are Discord or server emotions. Examples of use: `react <fun.html#react>`__, `vote command <miscellaneous.html#vote>`__, `poll channels <server.html#list-of-every-option>`__

Use Application Commands
------------------------

Use Slash Commands
------------------

Allows the user to use bots slash commands. Obviously has no effect on bots.
Allows the user to use bots commands (ie. slash commands as well as user and message context commands). Obviously has use for bots.


-----------------
Expand Down Expand Up @@ -202,7 +208,6 @@ Priority Speaker

Allows users to have their volume higher than the other members in a voice channel. Bots cannot use that for now.


Request To Speak
----------------

Expand Down
58 changes: 58 additions & 0 deletions docs/streamers.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
:og:description: Zbot has a super cool streamers system allowing you to follow your favorite Twitch streamers right inside your server, and give your own streamers a special role when they're live!

.. note:: Like most of the features of this bot, this streamers subscription system is constantly being developed. Feel free to help us by offering suggestions, voting for the best ideas or reporting bugs at our `Discord server <https://discord.gg/N55zY88>`__!

.. warning:: All of these setup commands are reserved for certain roles only: you need the "Manage server" (or administrator) permission if you want to use them!

======================
Streamers subscription
======================

It is common for Discord communities to grow around one or a few streamers and focus their activities around these popular people. That's why Zbot offers you a simple and efficient system to follow your chosen streamers closely, and be notified when they go live.
Moreover, if you have streamers in your community, you can assign them a special role when they are live, for example to highlight them or give them special permissions just for the time of the live!

The role you choose to give to streamers will only be given to members who have an active stream on one of the channels the server is subscribed to. Also, due to technical limitations, these streamers must have streaming activity visible on their Discord profile to receive the role (not happy with that? `Let us know <https://discord.gg/N55zY88>`__!)


Configure your server
---------------------

**Syntax:** :code:`config change streaming_channel <channel>`

This command will set the channel where Zbot will send notifications when a streamer goes live. You can enter both the channel mention, its name, and its ID. Make sure Zbot can send messages and embeds there!

**Syntax:** :code:`config change streaming_role <role>`

This command will set the role that will be given to streamers when they go live. You can enter both the role mention, its name, and its ID. Make sure Zbot role is higher than this role and has the "Manage roles" permission!

**Syntax:** :code:`config change stream_mention <message>`

This command will set the role that will be mentioned when a streamer goes live. You can enter both the role mention, its name, and its ID. Make sure Zbot can mention it!


Subscribe or unsubscribe to a streamer
--------------------------------------

**Syntax:** :code:`twitch subscribe <channel>`

Subscribe your server to up to 20 Twitch channels with this command. You can enter both the channel name and its twitch.tv URL. Zbot will let you know if you are already subscribed to this channel or if you have reached your subscription limit

**Syntax:** :code:`twitch unsubscribe <channel>`

Unsubscribe your server from a Twitch channel. You have to enter its channel name, but slash command autocompletion will help you quickly finding it!


List your subscriptions
-----------------------

**Syntax:** :code:`twitch list-subscriptions`

This command will list all the channels your server is subscribed to, with a small notice for those that are currently live. Zbot requires the "Embed messages" permission to send the list.


Check a streamer status
-----------------------

**Syntax:** :code:`twitch check-stream <channel>`

This command will check if a streamer is currently live, and if so, will display some information about the stream. Zbot requires the "Embed messages" permission to send the message if a live is ongoing.
Loading

0 comments on commit a3393a6

Please sign in to comment.