
(anciennement "twitch_monitor_discord_bot")
Nedry est un bot de discorde auto-hébergé avec un système de plugin modulaire. Beaucoup de comportements utiles sont disponibles prêts à l'emploi, mais vous pouvez également installer des plugins pour étendre le comportement de Nedry, ou même écrire vos propres plugins.
Certaines fonctionnalités prêtes à l'emploi incluent:
Toutes les fonctionnalités mentionnées ci-dessus sont implémentées sous forme de plugins modulaires dans le répertoire nedry/builtin_plugins , qui sert de référence utile aux rédacteurs de plugins.
Pour commencer tout de suite, consultez la section de démarrage rapide.
Table des matières
help à la commandeinfo de commandementquote de commandetimezone de commandestreamersaddstreamersremovestreamersclearallstreamersphrases de commandetestphrases testaddphraseremovephrasesnocompetitioncmdhistorysayplugins de commandeplugsonplugsoffpluginfo de commandetwitchclientidannouncechanneljoke de commandementwikimockapologizeapologiseschedule de commandeunscheduleremindmeunremindtrivia de commandementtriviascoresstory de commandementsocialcredit Le nom du projet a changé, mais toutes les fonctionnalités qui étaient présentes dans "twitch_monitor_discord_bot" sont toujours présentes dans "Nedry". Les étapes suivantes seront nécessaires pour passer à "Nedry":
C'est ça!
Installer pour Python (seul Python 3,9x ou plus est pris en charge) à l'aide de pip :
python -m pip install nedred
Exécutez le package en tant que module sans arguments, qui créera un fichier de configuration vide appelé default_bot_config.json dans votre répertoire actuel et quittez immédiatement.
$ python -m neddry Création du fichier de configuration par défaut 'default_bot_config.json', veuillez ajouter des paramètres requis
La plupart des comportements de ce bot peuvent être configurés via des messages Discord pendant que le bot est opérationnel, mais il existe d'abord quelques paramètres qui doivent être définis dans le fichier de configuration, pour que le bot parle à votre serveur Discord. Remplir ces paramètres requis dans le fichier .json:
discord_bot_api_token : Discord Bot API Le token doit être entré ici en tant que chaîne. Créez une nouvelle application BOT et générez / copier le jeton sur la page "BOT" (Remarque: assurez-vous d'activer toutes les intentions de passerelle privilégiées pour votre application BOT).discord_server_id : Discord Server ID (le serveur auquel vous souhaitez que le bot se connecte) doit être entré ici en tant qu'entier. Comment trouver Discord User / Server / Message IDSdiscord_admin_users : une liste des ID utilisateur Discord en tant qu'entiers peut être entré ici. Les utilisateurs d'administration ont accès à l'ensemble complet de commandes Discord que le bot peut accepter. À tout le moins, vous voudrez probablement ajouter votre propre ID d'utilisateur Discord ici afin que vous ayez un contrôle total du bot. Comment trouver Discord User / Server / Message IDSUne fois que tous les paramètres requis ont été définis dans le fichier .json, exécutez à nouveau le package en tant que module, mais cette fois, passez votre fichier de configuration comme argument:
$ python -m nedry default_bot_config.json
S'il est configuré correctement, le bot doit désormais se connecter à votre serveur Discord. Vous avez terminé la modification du fichier de configuration!
Chaque fois que votre bot est en ligne dans le serveur Discord, vous pouvez émettre des commandes au bot en mettant une mention du nom Discord du bot au début du message, soit dans un DM ou dans n'importe quel canal auquel le bot a accès, par exemple @BotName !command . La seule commande que vous devez vraiment savoir est la commande help ; Si vous dites @BotName !help , alors le bot vous montrera quelles commandes sont disponibles et vous montrent comment obtenir une aide plus spécifique avec les commandes individuelles.
Mis à part les 3 premières choses que vous avez définies dans le fichier de configuration du bot dans la section précédente, tout le reste du comportement du bot peut être configuré en envoyant des messages / commandes au bot sur Discord. Une chose que vous voudrez peut-être configurer de cette manière, c'est comment les streamers Twitch sont surveillés pour les annonces de flux.
Les étapes suivantes sont nécessaires pour permettre des annonces de flux Twitch:
Définition des streamers Twitch à surveiller
Envoyez la commande "Addstreamers", avec un ou plusieurs arguments, chacun doit être le nom d'un canal Twitch existant. par exemple "@botname! AddStreamers Channel1 Channel2":

Les modifications de la liste des streamers sont enregistrées dans le fichier de configuration.
Pour plus d'informations sur la façon de visualiser la liste des streamers surveillés et comment supprimer un streamer de la liste, utilisez les commandes "@botname! Help streamers" et "@botname! Aidez les commandes de removestreamers".
Définition du canal Discord pour les annonces de flux
Envoyez la commande "AnnonceChannel" avec un argument, qui devrait être le nom du canal Discord que vous souhaitez que les annonces de flux soient envoyées. par exemple "@botname! AnnonceChannel Channel-Name":

Le nom du canal d'annonce de flux est enregistré dans le fichier de configuration.
Définition des phrases personnalisées pour les annonces de flux
C'est facultatif, mais il n'y a qu'une seule phrase d'annonce de flux par défaut, vous voudrez peut-être en ajouter une partie de la vôtre. Chaque fois qu'un streamer est mis en ligne, l'une de vos phrases d'annonce de flux est choisie au hasard pour l'annonce. Les phrases peuvent contenir des jetons de format (voir la commande "@botname! Aidez addPhrase" pour plus d'informations sur les jetons de format). par exemple "@botname! addPhrase une phrase personnalisée":

Pour référence, la phrase de l'image précédente produit l'annonce du flux suivant lorsqu'un streamer nommé "OhmLab" commence à diffuser un mercredi:

Toutes les phrases d'annonce de flux sont enregistrées dans le fichier de configuration.
Définition de l'ID client Twitch et du secret du client
Dans un DM avec le bot dans Discord, ou dans n'importe quel canal public, envoyez la commande "twitchclientid" avec deux arguments, par exemple "@botname! twitchclientid xxxx yyyy".
Remplacez "xxxx" par votre ID client Twitch et remplacez "Yyyy" par votre secret de client Twitch. Vous devez avoir un compte Twitch et enregistrer une demande pour obtenir un ID client et un secret client pour votre demande. instructions ici.

Vous pouvez modifier l'ID client et le secret du client à tout moment, en utilisant la même commande. L'ID client et le secret du client que vous fournissez avec cette commande sont enregistrés dans le fichier de configuration, il n'est donc pas nécessaire de le renvoyer à chaque fois que vous démarrez le bot.
Utilisez le fichier Nedry.service disponible sur GitHub pour créer rapidement un service SystemCTL pour exécuter Nedry.
Remarque: Ce service charge un fichier de configuration sur /home/ubuntu/nedry_config.json , vous devrez peut-être modifier la ligne "EXECSTART" et modifier ce chemin vers l'emplacement de votre fichier de configuration.
Remarque: Ce service charge l'environnement d'un utilisateur nommé "Ubuntu", vous devrez peut-être modifier la ligne "utilisateur" et changer le nom d'utilisateur en votre propre nom d'utilisateur.
Afin d'utiliser des plugins, vous devez ajouter au moins un chemin de répertoire à la liste plugin_directories dans le fichier de configuration. Les plugins sont installés en plaçant directement les fichiers Python dans le niveau supérieur de tout répertoire répertorié dans plugin_directories (pas dans un sous-répertoire!). Si des plugins valides existent dans les répertoires répertoriés dans plugin_directories au début du bot, ils seront chargés et disponibles pour une utilisation.
Tous les plugins chargés sont activés par défaut. Pour voir une liste de tous les plugins, activés et désactivés, utilisez la commande !plugins . Pour désactiver / activer un plugin, utilisez les commandes !plugson et !plugsoff . Par exemple, pour désactiver le plugin knock_knock_jokes intégré, utilisez @BotName !plugsoff knock_knock_jokes .
Pour commencer avec les plugins d'écriture, consultez cet exemple de plugin fonctionnel et ce fichier de modèle de plugin (copier, coller et modifier pour créer votre propre plugin).
Voir également ce plugin intégré plus complexe
Voici quelques captures d'écran d'interactions de commande / réponse diverses avec le bot dans Discord. Cette section n'est pas destinée à une référence complète de toutes les commandes disponibles (voir la section "Bot Command Reference" à la fin), mais plutôt une illustration rapide de ce à quoi il ressemble d'interagir avec le bot dans Discord.







Cette section couvre tous les paramètres de fichier de configuration, y compris ceux non couverts dans la section de démarrage rapide. Le fichier de configuration doit être un fichier .json du formulaire suivant:
{
"twitch_client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"twitch_client_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"DISCORD_BOT_API_TOKEN": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Discord_server_id": 123456789123456789,
"Discord_Channel_name": "My-Discord-Channel",
"Poll_period_seconds": 60,
"host_streamer": "my-twitch-streamer-name",
"silent_when_host_streaming": true,
"plugin_data": {},
"Plugin_Directories": ["/ home / user / neddry_plugins"],
"Discord_admin_users": [422222187366187010, 487222187346187011],
"Discord_Joke_tellers": [422222187366187010, 487222187346187011],
"blagues": [],
"Fuseau horaire": {},
"command_log_file": "/home/user/twitch_monitor_bot_command_log.txt",
"Startup_Message": "Bonjour! Je suis un bot qui peut surveiller les flux Twitch pour vous.",
"streamers_to_monitor": [
"Mrsketi",
"Aucun_of_many"
],
"stream_start_messages": [
"{streamer_name} est maintenant en streaming! Regardez-le ici: {stream_url}",
"{streamer_name} fait quelque chose, allez le voir ici: {stream_url}"
]]
}
twitch_client_id : entrez votre ID client Twitch ici.discord_bot_api_token : Entrez ici le jeton API pour votre application Discord Bot.discord_server_id : Entrez l'ID de serveur pour le serveur auquel vous souhaitez que le bot se connecte ici.discord_channel_name : Entrez le nom du canal auquel vous souhaitez que le bot se connecte ici.poll_period_seconds : Entrez le retard souhaité (en secondes) entre la vérification si tous les streamers sont en direct ici.host_streamer : entrez le nom de votre propre canal Twitch ici (facultatif).silent_when_host_streaming : si vrai, aucune annonce sur d'autres flux ne sera faite lorsque l'hôte est en direct.plugin_directories : Liste des noms de répertoire à rechercher des plugins à charger au démarrageplugin_data : Contient des données persistantes pour les plugins, dictées clés par le nom du plugindiscord_admin_users : plusieurs numéros d'ID utilisateur Discord peuvent être ajoutés ici. Les utilisateurs ajoutés ici seront autorisés à configurer le bot en envoyant des commandes dans Discord.discord_joke_tellers : plusieurs numéros d'ID utilisateur Discord peuvent être ajoutés ici. Toutes les blagues à knock-knock racontées au bot par les utilisateurs de Discord dans cette liste, seront "rappelées" (stockées dans la liste "blagues") et peuvent être racontées à d'autres utilisateurs de Discord plus tard lorsqu'une blague est demandée.jokes : Toutes les blagues soutenues par le bot des utilisateurs de Discord seront stockées ici.timezones : dict qui mappe les numéros d'identification de l'utilisateur Discord au nom IANA du fuseau horaire dans lequel ils sont. Lorsque vous dites au bot votre fuseau horaire avec la commande "fuseau horaire", c'est là qu'il est stocké.command_log_file : entrez le nom de fichier souhaité pour enregistrer les commandes reçues des messages Discord. Définissez sur "NULL" si vous ne voulez pas enregistrer les commandes.startup_message : Entrez le message que vous souhaitez que le bot envoie lorsqu'il sera en ligne après avoir été démarré ici. Le message peut contenir les jetons de format suivant:{botname} : remplacé par le nom de bot qui est vu par d'autres utilisateurs de discorde{date} : sera remplacé par la date actuelle au format DD / mm / yyy{times} : sera remplacé par l'heure actuelle dans HH: MM: Format SS{time} : sera remplacé par l'heure actuelle au format HH: mm{day} : sera remplacé par le nom de l'actuel jour de semaine (par exemple "lundi"){month} : sera remplacé par le nom du mois en cours (par exemple, "janvier"){year} : sera remplacé par l'année en cours (par exemple "2022")streamers_to_monitor : entrez la liste des noms de streamer pour surveiller ici.stream_start_messages : plusieurs messages peuvent être définis ici pour être utilisés comme annonces pour les streamers en ligne. Les messages peuvent contenir les jetons de format suivant:{streamer_name} : sera remplacé par le nom du streamer{stream_url} : sera remplacé par l'URL du flux sur twitch.com{botname} : remplacé par le nom de bot qui est vu par d'autres utilisateurs de discorde{date} : sera remplacé par la date actuelle au format DD / mm / yyy{times} : sera remplacé par l'heure actuelle dans HH: MM: Format SS{time} : sera remplacé par l'heure actuelle au format HH: mm{day} : sera remplacé par le nom de l'actuel jour de semaine (par exemple "lundi"){month} : sera remplacé par le nom du mois en cours (par exemple, "janvier"){year} : sera remplacé par l'année en cours (par exemple "2022") Si vous écrivez un plugin, vous devez probablement vous abonner à certains événements (comme indiqué dans cet exemple de plugin). Cette section énumère les types d'événements disponibles dans nedry.event_types.events , ainsi que leurs arguments attendus et une brève description:
| Événement | Arguments de l'événement | Description de l'événement |
|---|---|---|
| Discord_Message_Received | (message) "Message" est l'objet Discord.py Message (voir Discord.py Docs) | Émis chaque fois qu'un message Discord est reçu, soit dans un canal public auquel le bot a accès, soit dans un DM avec le bot. |
| Discord_bot_mention | (message, text_without_mentition) "Message" est l'objet Discord.py Message (voir Discord.py Docs). "Text_Without_mention" est le texte du message avec le bot mentionné. | Émis chaque fois qu'un message Discord commence par une mention du nom de discorde des bots est reçu, soit dans un canal public auquel le bot a accès, soit dans un DM avec le bot. Seules les mentions qui ne sont pas suivies d'une commande sont incluses ici, il existe un événement distinct pour les commandes, bot_command_received |
| New_discord_member | (membre) "Membre" est l'objet utilisateur Discord.py du membre qui a rejoint (voir Discord.py Docs). | Émis chaque fois qu'un nouvel utilisateur rejoint le serveur Discord. |
| Discord_Connected | Aucun argument | EMMIT chaque fois que le bot est connecté au serveur Discord configuré (cela peut prendre jusqu'à quelques secondes après le démarrage) |
| Bot_command_received | (message, text_without_mentition) "Message" est l'objet Discord.py Message (voir Discord.py Docs) "Text_Without_mention" est le texte du message avec le bot mentionné. | Émis chaque fois qu'un message commençant par une mention de bot suivi du personnage de préfixe de commande ("!") Est reçu, soit dans un canal public auquel le bot a accès, soit dans un DM avec le bot. L'événement est émis avant la gestion de la commande. |
| Bot_sending_message | (canal, message_text) "Channel" est l'objet Discord.py Channel pour le canal sur lequel le message est envoyé (voir Discord.py Docs). "Message_text" est le message qui sera envoyé au canal. | Émis chaque fois que le bot est sur le point d'envoyer un message à la chaîne publique ou à un DM. |
| Twitch_stream_started | (nom, URL) "Nom" est le nom Twitch du streamer qui a commencé à streaming. "URL" est l'URL Twitch du flux qui a commencé. | Émis chaque fois que l'un des streamers configurés pour la surveillance commence le streaming. |
| Twitch_stream_end | (nom, URL) "Nom" est le nom de Twitch du streamer qui a cessé de diffuser. "URL" est l'URL de contraction du flux qui s'est terminé. | Émis chaque fois que l'un des streamers configurés pour la surveillance arrête de streaming. |
| Host_stream_started | Aucun argument | Émis lorsque le streamer hôte configuré commence à diffuser |
| Host_stream_end | Aucun argument | Émis lorsque le streamer hôte configuré cesse de diffuser |
Si vous trouvez un problème ou une faute de frappe, veuillez le signaler en créant un nouveau problème sur GitHub.
Les contributions sont les bienvenues, veuillez ouvrir une demande de traction sur GitHub.
help à la commandeaider [Commande] Affiche des informations utiles sur la commande donnée. Remplacer [commande] par le commande avec laquelle vous souhaitez de l'aide. Exemple: @Botname! Aidez Wiki Tous les utilisateurs Discord peuvent utiliser cette commande.
info de commandementinformations Montrez des informations générales sur le bot, y compris, mais sans s'y limiter; - Version Python Package - Avance (combien de temps le bot a fonctionné) - plugins installés, à la fois activés et désactivés Exemple: @Botname! Aidez les informations Tous les utilisateurs Discord peuvent utiliser cette commande.
quote de commandecitation Affiche une citation célèbre aléatoire Exemple: @Botname! Tous les utilisateurs Discord peuvent utiliser cette commande.
timezone de commandeTimezone [timezone_name] Définissez le fuseau horaire pour l'auteur du message Discord, permettant ceci Discord User pour fournir / voir les dates et les temps dans leur fuseau horaire local. [Timezone_name] devrait être remplacé par le nom d'un fuseau horaire de l'IANA Base de données du fuseau horaire, ou une sous-chaîne, par exemple "Londres" ou "Los Angeles". Si tu Vivez dans une grande ville, alors en tapant souvent le nom de la ville ici sera assez. Si vous rencontrez des problèmes, essayez de sélectionner votre région sur Cette carte du fuseau horaire IANA, et en utilisant le nom du pays / de la ville qui est indiqué dans La boîte de sélection déroulante: https://kevalbhatt.github.io/timezone-picker L'envoi de cette commande sans arguments interrogera actuellement le fuseau horaire attribué à l'auteur du message Discord. Exemple: @BOTNAME! Timezone # Retter le paramètre de fuseau horaire pour cet utilisateur Discord @BotName! Timezone London # Définissez le fuseau horaire pour cet utilisateur de la discorde à "Europe / Londres" Tous les utilisateurs Discord peuvent utiliser cette commande.
streamersbanderole Affiche une liste de streamers actuellement surveillés. Exemple: @BOTNAME! Streamers Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
addstreamersAddStreamers [Nom] ... Ajoute un ou plusieurs nouveaux streamers à la liste des streamers surveillés. Remplacer [Nom] avec le (s) nom (s) du (s) streamer (s) que vous souhaitez surveiller. Exemple: @Botname! AddStreamers streamer1 streamer2 streamer3 Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
removestreamersRemovestreamers [Nom] ... Supprime un ou plusieurs streamers de la liste des streamers surveillés. Remplacer [nom] Avec le (s) nom (s) du (s) streamer (s), vous souhaitez supprimer. Exemple: @Botname! RemoveStreamers streamer1 streamer2 streamer3 Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
clearallstreamersclearallstream Efface la liste des streamers en cours de surveillance. Exemple: @Botname! Clearallstreamers Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
phrases de commandephrases Affiche une liste numérotée de phrases actuellement utilisées pour les annonces de flux. Exemple: @Botname! Phrases Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
testphrases testphrases de test Affiche toutes les phrases actuellement utilisées pour les annonces de flux, avec les jetons de format peuplé, afin que vous puissiez voir à quoi ils ressembleront lorsqu'ils seront publiés sur la chaîne Discord. Exemple: @Botname! TestPhrases Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
addphrase addphrase [phrase]
Ajoute une nouvelle phrase à utiliser pour les annons de flux. Le format suivant
Les jetons peuvent être utilisés dans une phrase:
{streamer_name}: remplacé par le nom de contraction du streamer
{stream_url}: remplacé par l'URL du flux sur twitch.tv
{botname}: remplacé par le nom de bot qui est vu par d'autres utilisateurs de discorde
{date}: remplacé par la date actuelle au format DD / mm / yyy
{Times}: remplacé par l'heure actuelle dans HH: MM: Format SS
{temps}: remplacé par l'heure actuelle au format HH: mm
{Day}: Remplacé par le nom de la semaine actuelle (par exemple "lundi")
{mois}: remplacé par le nom du mois en cours (par exemple, "janvier")
{année}: remplacé par l'année en cours (par exemple "2022")
Exemple:
@Botname! Addphrase "{streamer_name} est maintenant en streaming sur {stream_url}!"
Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
removephrasesSupprime lesPhrases [Numéro] [Numéro] ... Supprime une ou plusieurs phrases de la liste des phrases utilisées pour les annonces de flux. [Numéro] doit être remplacé par le numéro de la phrase souhaitée, comme indiqué dans le Liste numérotée produite par la commande «phrases». En d'autres termes, pour supprimer Une phrase, vous devez d'abord regarder la sortie de la commande "phrases" pour obtenir le Nombre de la phrase que vous souhaitez supprimer. Exemple: @Botname! SupprimPhrases 3 4 5 Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
nocompetitionNOCOMPÉTITION [activé] [activé] doit être remplacé par «vrai» ou «faux». Si c'est vrai, alors non Des annonces sur d'autres flux seront faites pendant que le streamer hôte est en streaming. Si faux, les annonces seront toujours faites, même si le streamer hôte est en streaming. (Pour vérifier si NoCompétion est activé, exécutez la commande sans argument vrai / faux) Exemples: @Botname! NOCOMPÉTITION TRUE (Activer NoCompétion) @Botname! NOCOMPÉTITION FAUX (Activer NoCompétion) @Botname! NOCOMPÉTITION (Vérifiez l'état actuel) Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
cmdhistorycmdhistory [entry_count] Affichez les dernières entrées du fichier de journal de commande. Si aucun décompte n'est donné, le Les 25 dernières entrées sont affichées. Exemples: @Botname! CMDHistory (montrez les 25 dernières entrées) @Botname! CMDHistory 5 (montrez les 5 dernières entrées) Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
sayDites [des trucs à dire] Fait que le bot envoie un message dans le canal d'annonces, contenant immédiatement Quoi que vous tapez à la place de [des trucs à dire]. Exemple: @Botname! Dites bonjour Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
plugins de commandeplugins Afficher tous les plugins chargés et montrer lesquels sont actuellement activés Exemple: @Botname! Aidez Wiki Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
plugsonplugson [plugin_name] [plugin_name] ... Activer / activer un ou plusieurs plugins par nom (les noms de plugins peuvent être vus dans le Sortie de la commande 'Plugins', entourée de contreventements carrés, par exemple "[]"). Exemple: @Botname! Pluginon knock_knock_jokes autre_plugin Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
plugsoffplumsoff [plugin_name] [plugin_name] ... Désactiver / désactiver un ou plusieurs plugins par nom (les noms de plugins peuvent être vus dans le Sortie de la commande 'Plugins', entourée de contreventements carrés, par exemple "[]"). Exemple: @Botname! Pluginoff knock_knock_jokes autre_plugin Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
pluginfo de commandepluginfo [plugin_name] Interroger des informations sur un plugin chargé. Exemple: @Botname! Pluginfo knock_knock_jokes Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
twitchclientidtwitchClientid [client_id_string] [client_secret_string] Définit l'ID client et le secret client utilisé pour interagir avec l'API Twitch. Remplacez [client_id_string] par la chaîne d'ID client pour votre application Twitch. Remplacez [client_secret_string] par la chaîne secrète du client pour votre application Twitch. Exemple: @Botname! Aidez twitchclientid xxxxxxxxxxxx yyyyyyyyyyyy Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
announcechannelANNONCECHANNEL [DISCORD_CHANNEL_NAME] Définit le canal Discord où les annonces de flux seront publiées. Si pas de discorde Le nom du canal est fourni, puis le nom du canal des annonces de flux actuel sera retourné. Exemple: @Botname! ANNONCECHANNEL # Requête Nom de la chaîne actuelle @Botname! AnnonceChannel My-Channel # Définissez la chaîne d'annonces sur «My-Channel» Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
joke de commandementblague Raconte une blague interactive à knock. Vous pouvez également * raconter * des blagues Knock-Knock au bot, et il se souviendra de nouvelles blagues Pour vous leur dire plus tard lorsque vous envoyez cette commande. Tous les utilisateurs de discorde peuvent raconter des blagues au bot, mais seules les blagues racontées par les utilisateurs répertoriés Dans 'Discord_Joke_tellers' dans le fichier de configuration restera dans les mémoires. Exemple: @Botname! Blague Tous les utilisateurs Discord peuvent utiliser cette commande.
wikiwiki [texte de recherche] Recherchez le texte fourni à l'aide de l'API publique de Wikipedia et renvoyez le texte résumé (généralement le premier paragraphe) de la première page des résultats de recherche. Si pas de recherche Le texte est fourni, puis un article aléatoire Wikipedia sera sélectionné à la place. Exemples: @BOTNAME! Wiki Python Language (Afficher le résumé de la page Wiki pour le langage de programmation Python) @Botname! Wiki (Afficher le résumé d'une page wiki aléatoire) Tous les utilisateurs Discord peuvent utiliser cette commande.
mockMock [mention] Répétez la dernière chose racontée par un utilisateur spécifique dans un ton "moqueur". Remplacer [mention] avec une mention de l'utilisateur Discord, vous souhaitez vous moquer. Exemple: @Botname! Mock @discord_user Tous les utilisateurs Discord peuvent utiliser cette commande.
apologizeExcuser [mention] Excusez-vous auprès d'un utilisateur spécifique pour s'être moqué. Remplacer [mention] avec une mention de l'utilisateur de la discorde dont vous souhaitez vous excuser. Exemple: @Botname! Excuser @discord_user Tous les utilisateurs Discord peuvent utiliser cette commande.
apologiseExcuser [mention] Excusez-vous auprès d'un utilisateur spécifique pour s'être moqué. Remplacer [mention] avec une mention de l'utilisateur de la discorde dont vous souhaitez vous excuser. Exemple: @Botname! Excuser @discord_user Tous les utilisateurs Discord peuvent utiliser cette commande.
schedule de commandecalendrier [channel_name] [message_text] dans | on | at [time_description] Configurez un message à envoyer par le bot dans un canal de discorde spécifique après un retard. [Channel_name] doit être remplacé par le nom du canal Discord dans lequel vous veulent que le message soit envoyé. [Message_Text] doit être remplacé par le texte que vous souhaitez être envoyé dans le message Discord. [Time_description] doit être remplacé par une description du temps souhaité avant Le message est livré à la chaîne. Le temps peut être décrit de l'une des manières suivantes: - une période de retard absolu écrit en anglais, en utilisant des chiffres (par exemple "5") au lieu de mots (par exemple "cinq") pour les valeurs de nombre. Par exemple: "1 minute", "2 heures et 3 minutes", "2 heures 3 minutes", "2 heures et 3 minutes" - une date et une heure spécifiques, écrites dans l'un des formats suivants: * Dd / mm / yyyy hh: mm * Yyyy / mm / dd hh: mm * HH: mm dd / mm / yyyy * HH: mm yyyy / mm / dd Remarque: si vous utilisez une date / heure spécifique, vous devez d'abord dire au bot qui Fuseau horaire dans lequel vous utilisez la commande "! fuseau horaire". De cette façon, vous pouvez fournir des dates / heures dans votre fuseau horaire local. Vous n'avez qu'à définir votre fuseau horaire une fois, le bot Rappelez-vous (voir "@botname! Aidez le fuseau horaire" pour plus de détails sur la façon de définir votre fuseau horaire). L'envoi de la commande sans arguments renvoie la liste des messages actuellement planifiés. Exemples: @Botname! Calendrier # Query Messages actuellement planifiés @Botname! Planifiez les blagues haha! Dans 2 heures # Planifiez le message aux "blagues" dans 2 heures @Botname! Planifiez les nouvelles de la pluie :( en 1h et 10m # Planifier le message à "News" en 1 heure, 10 minutes @Botname! Planifiez le général Howdy! à 17:02 23/10/2025 # Planifier le message "Général" à la date et heure spécifiques Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
unscheduleUnchedule [message_number] [message_number] ... Unchedulaire tout Unchedule en dernier Supprimez un ou plusieurs messages planifiés par numéro. [message_number] doit être remplacé avec le nombre du message que vous souhaitez supprimer, comme le montre la sortie de l'exécution du Ordonnance 'schedule' sans arguments. Alternativement, au lieu de passer des nombres, vous pouvez passer un seul argument de "tous" Pour supprimer tous les messages planifiés à la fois, ou "dernier" pour supprimer le dernier Ajout du message planifié. Exemples: @Botname! Unchedule dernier # supprimer le dernier message ajouté @Botname! Unchedule tout # supprimer tous les messages @Botname! Unchedule 2 # supprimer le message n ° 2 @Botname! Unchedule 5 6 # Supprimer les messages 5 et 6 Seuls les utilisateurs Discord enregistrés dans «Discord_Admin_users» dans le fichier de configuration de bot peuvent utiliser cette commande.
remindmeremindme [rappel_text] dans | on | at [time_description] Configurez un rappel. Après l'heure spécifiée, le bot vous enverra un DM avec n'importe quoi Texte que vous avez fourni pour [REminder_text]. [rappel_text] doit être remplacé par le texte que vous voulez dans le message de rappel, par exemple la chose dont vous voulez vous rappeler. [Time_description] doit être remplacé par une description du temps souhaité avant Le rappel est livré. Le temps peut être décrit de l'une des manières suivantes: - une période de retard absolu écrit en anglais, en utilisant des chiffres (par exemple "5") au lieu de mots (par exemple "cinq") pour les valeurs de nombre. Par exemple: "1 minute", "2 heures et 3 minutes", "2 heures 3 minutes", "2 heures et 3 minutes" - une date et une heure spécifiques, écrites dans l'un des formats suivants: * Dd / mm / yyyy hh: mm * Yyyy / mm / dd hh: mm * HH: mm dd / mm / yyyy * HH: mm yyyy / mm / dd Remarque: si vous utilisez une date / heure spécifique, vous devez d'abord dire au bot qui Fuseau horaire dans lequel vous utilisez la commande "! fuseau horaire". De cette façon, vous pouvez fournir des dates / heures dans votre fuseau horaire local. You only have to set your timezone once, the bot will remember it (see "@BotName !help timezone" for more details about how to set your timezone). Sending the command with no arguments returns the list of active reminders for the user that sent the command. Exemples: @BotName !remindme # Query current reminders for me @BotName !remindme To take out the trash... in 12 hours # schedule reminder in 12 hours @BotName !remindme to take a shower :D in 1 day and 5 mins # Schedule reminder in 1 day and 5 minutes @BotName !remindme to brush my teeth on 22/4/2025 14:30 # Schedule reminder at specific date & time All discord users may use this command.
unremindunremind [reminder_number] [reminder_number] ... unremind all unremind last Remove one or more reminders by number. [reminder_number] should be replaced with the number of the reminder you want to remove, as shown by the output of running the '!remindme' command with no arguments. Alternatively, instead of passing numbers, you can pass a single argument of "all" to remove all reminders at once, or "last" to remove the last reminder that you scheduled. Exemples: @BotName !unremind last # Remove last added reminder @BotName !unremind all # Remove all reminders @BotName !unremind 2 # Remove reminder #2 @BotName !unremind 5 6 # Remove reminders 5 and 6 All discord users may use this command.
triviatrivia [time_limit] Fetch a trivia question from opentdb.com and allow all discord users to provide an answer until the time limit is up. Whoever provides the correct answer first gets 2 points, and any other correct answers that came after that get 1 point. If the correct answer is not provided, then no points are awarded. [time_limit] should be replaced with the desired time limit for the question, in seconds. This parameter is optional; if no time limit is provided then a time limit of 60 seconds will be used. Exemple: @BotName !trivia All discord users may use this command.
triviascorestriviascores Shows total score for all discord users who have ever answered a trivia question correctly. The first correct answer to a trivia question gets 2 points, and all other correct answers get 1 point. Exemple: @BotName !triviascores All discord users may use this command.
story story new|add|continue|show|stop [optional story contribution text]
Interact with the story being written on the current discord channel.
The first argument to this command may be one of the following 5 operations:
new - Start a new story in this channel.
add - Contribute the next part of the story being written on this channel.
[optional story contribution text] should be replaced with your desired
text for the next part of the story.
continue - Instead of starting a new story with a random prompt, add to an existing
story by providing the whole story. [optional story contribution text]
should be replaced with the text of the story that you want to continue.
(Note: if your story is too large to fit in a single discord message,
you may need to start with a smaller portion of the story, and afterwards
add the remaining text using the '!story add' command)
show - Show the current story as written so far.
stop - Stop the story writing session, and show the story as written so far.
Exemples:
@BotName !story new (Provide a random prompt to start a new story)
@BotName !story add And then he fell down... (Contribute to the current story)
@BotName !story continue Call me Ishmael (Start new story with provided text, no prompt)
@BotName !story show (Show the story as written so far)
@BotName !story stop (Stop the story)
All discord users may use this command.
socialcreditsocialcredit [top] Show your social credit score. The scoring algorithm is designed to favour users who interact regularly with the server, as long as those interactions are not "spread thinly" throughout the server. For example, posting a lot of messages in a single channel every day may make your score go up, but posting one message in all channels very infrequently may make your score go down. Using the command with no arguments shows your own social credit score. Using the command with a single argument of "top" (eg "!socialcredit top") shows the 10 users with the highest social credit score. Exemple: @BotName !socialcredit # Show your social credit score @BotName !socialcredit top # Show highest 10 scores All discord users may use this command.