Documentation

Tout ce que vous devez savoir pour installer et utiliser Rustmail

Voir la documentation complète

Prérequis Discord

Activez les intents privilégiés dans le Discord Developer Portal : Presence Intent, Server Members Intent et Message Content Intent.

Presence Intent Server Members Intent Message Content Intent

Téléchargement

  1. Téléchargez la dernière version depuis les Releases GitHub
  2. Extrayez l'archive dans un répertoire de votre choix

Ou utilisez Docker :

docker pull ghcr.io/rustmail/rustmail:latest

Configuration

Le fichier de configuration est obligatoire pour démarrer le bot.

  1. Utilisez le générateur de configuration pour créer votre fichier config.toml
  2. Placez le fichier dans le même répertoire que le binaire

Exemple de configuration complète :

[bot]
token = "YOUR_BOT_TOKEN"
status = "DM FOR SUPPORT"
welcome_message = "Message received! Our staff will get back to you as soon as possible."
close_message = "Thank you for contacting support! Your ticket is now closed."
typing_proxy_from_user = true
typing_proxy_from_staff = true
enable_logs = true
enable_features = true
enable_panel = true
client_id = YOUR_CLIENT_ID
client_secret = "YOUR_CLIENT_SECRET"
redirect_url = "http://YOUR_IP:3002/api/auth/callback"
timezone = "Europe/Paris"
logs_channel_id = YOUR_LOGS_CHANNEL_ID
features_channel_id = YOUR_FEATURES_CHANNEL_ID
ip = "http://YOUR_IP"
panel_super_admin_users = [YOUR_USER_ID]
panel_super_admin_roles = []

[bot.mode]
type = "single"
guild_id = YOUR_GUILD_ID

[command]
prefix = "!"

[thread]
inbox_category_id = YOUR_CATEGORY_ID
embedded_message = true
user_message_color = "3d54ff"
staff_message_color = "ff3126"
system_message_color = "00ff00"
block_quote = true
time_to_close_thread = 5
create_ticket_by_create_channel = true
close_on_leave = false
auto_archive_duration = 10080

[language]
default_language = "fr"
fallback_language = "en"
supported_languages = ["en", "fr", "es", "de"]

[error_handling]
show_detailed_errors = false
log_errors = true
send_error_embeds = true
auto_delete_error_messages = true
error_message_ttl = 30
display_errors = true

[notifications]
show_success_on_edit = false
show_partial_success_on_edit = true
show_failure_on_edit = true
show_success_on_reply = false
show_success_on_delete = false
show_success = true
show_error = true

[reminders]
embed_color = "ffb800"

[logs]
show_log_on_edit = true
show_log_on_delete = true

Lancement

Une fois le fichier config.toml en place, lancez le bot :

./rustmail

Avec Docker :

docker run -v $(pwd)/config.toml:/app/config.toml ghcr.io/rustmail/rustmail:latest

Commandes Slash

Commande Description Usage
/help Afficher les commandes disponibles /help
/ping Vérifier la réactivité du bot /ping
/new_thread Créer un nouveau ticket pour un utilisateur /new_thread <user>
/close Fermer le ticket actuel /close [time] [silent] [cancel]
/reply Envoyer un message à l'utilisateur du ticket /reply <content> [attachment] [anonymous]
/edit Modifier un message précédemment envoyé /edit <message_id> <new_content>
/delete Supprimer un message envoyé /delete <message_id>
/take S'assigner au ticket (claim) /take
/release Se désassigner du ticket /release
/add_staff Donner accès au ticket à un membre du staff /add_staff <user>
/remove_staff Retirer l'accès d'un membre du staff /remove_staff <user>
/move_thread Déplacer un ticket vers une autre catégorie /move_thread <category>
/add_reminder Ajouter un rappel sur le ticket /add_reminder <time> [content]
/alert Être notifié quand le ticket reçoit un message /alert [cancel]
/logs Voir l'historique et les logs du ticket /logs
/id Afficher l'ID Discord de l'utilisateur /id
/snippet Utiliser un snippet enregistré /snippet <key>
/status Voir ou modifier le statut du bot /status [new_status]

Commandes Textuelles

Préfixe par défaut : !

Commande Description Usage
!help Afficher les commandes disponibles !help
!ping Vérifier la réactivité du bot !ping
!new_thread Créer un nouveau ticket pour un utilisateur !new_thread <user_id>
!close Fermer le ticket actuel !close [time] [-s|--silent] [-c|--cancel]
!reply Envoyer un message à l'utilisateur du ticket !reply <content>
!anonreply Envoyer une réponse anonyme !anonreply <content>
!edit Modifier un message précédemment envoyé !edit <message_id> <new_content>
!delete Supprimer un message envoyé !delete <message_id>
!take S'assigner au ticket (claim) !take
!release Se désassigner du ticket !release
!add_staff Donner accès au ticket à un membre du staff !add_staff <user_id>
!remove_staff Retirer l'accès d'un membre du staff !remove_staff <user_id>
!move_thread Déplacer un ticket vers une autre catégorie !move_thread <category_name>
!alert Être notifié quand le ticket reçoit un message !alert [cancel]
!snippet Utiliser un snippet enregistré !snippet <key>

Besoin d'aide ?

Consultez la documentation complète ou rejoignez notre serveur Discord.