Step 3: Retrieve Client ID and Generate Client Secret
Once your app is created, note down the Client ID.
Click New Secret to generate a Client Secret.
Step 4: Use the Credentials in the Discord Bot
In Discord, type the following commands:
!set_api_key twitch_id YOUR_CLIENT_ID
!set_api_key twitch_secret YOUR_CLIENT_SECRET
You will receive a confirmation: โ Twitch API credentials successfully registered!
๐ก๏ธ Managing Discord Bot Administrators
Who Can Manage Administrators?
Only the owner of the Discord server can add or remove secondary administrators using commands.
Secondary admins can then use the bot's admin commands (such as !ask, !search, !youtube, !twitch, etc.).
โ ๏ธ To access the dashboard management tools (web interface), the server owner must first register as super admin with this command: !superadmin DiscordUsername
โ Once a super admin, they can manage other admins (add/remove) directly from the dashboard without using Discord commands.
Add a Secondary Administrator
From Discord, type the following command:
!addadmin Username
Example:
!addadmin David
โ The mentioned member will now be an administrator and can use the botโs admin commands.
๐ฅ๏ธ This action can also be done via the dashboard (if you are a super admin).
Remove a Secondary Administrator
From Discord, type the following command:
!removeadmin Username
Example:
!removeadmin David
โ The member will no longer be able to use admin-only commands.
View the List of Secondary Administrators
From Discord, type:
!listadmins
๐ The bot will display all registered secondary admins for this server.
Send a Private Message to All Members (Admin Only)
From Discord, type the following command:
!mpall Your message here...
The bot will attempt to send a private message to every member of the server (excluding bots and yourself), with a 1-second delay between each message to prevent spamming.
Only bot administrators (added via !addadmin or !superadmin) can use this command.
โ ๏ธ Risky usage:
โ Do not abuse this command: it may be flagged as spam by Discord, and some users may have DMs from bots disabled.
โ This command should be reserved for truly important announcements to your community.
โ Discord may limit or block the bot if it sends too many private messages in a row.
๐ฎ Create a Looking For Group (LFG)
What does the !lfg command do?
It allows you to create a post to find players for a game.
Other members can join the group by clicking the โ reaction.
The LFG will automatically close when the time expires or if the organizer cancels it.
!event create "Valorant Tournament" "A competitive 5v5 tournament for sharpshooters!" "2025-04-25 20:00" 10
Parameter Details:
Event Title: The name shown in the announcement.
Description: A brief message or summary of the event.
YYYY-MM-DD HH:MM: The start date and time of the event (creatorโs local time, 24h format).
MaxParticipants: The maximum number of participants allowed.
Smart Time Display in Discord:
The bot uses Discordโs <t:TIMESTAMP:F> formatting.
โก๏ธ Each user sees the event time in their own local timezone.
Example: an event scheduled at 20:00 in France will appear as 14:00 in Quebec.
What happens next:
The bot posts an interactive message in the channel where you use the command.
Members can click โ to join the event.
The organizer (admin) can cancel it by clicking the โ button.
How Events Work:
โ Each participant registers by reacting with โ .
๐ The bot shows the list of participants in real time.
๐ 30 minutes before the start, the bot sends a private reminder to each participant and a public message in the channel.
โฐ 48 hours after the scheduled time, the event is automatically removed from the database.
โ ๏ธ Reminder:
โ Only administrators can create events using !event create.
๐ Use the correct date/time format: YYYY-MM-DD HH:MM (e.g. 2025-04-25 20:00).
๐ The participant limit is set by MaxParticipants โ Extra users won't be able to join.
๐ How Rosters Work
What is a roster?
A roster is a group planning sheet (e.g., MMO raid, tournament, etc.).
Each roster includes custom classes/roles defined by the admin.
Players can register themselves via a public link, without needing admin rights.
Who can create a roster?
Only administrators or super admins can create, deploy, or finalize rosters.
But anyone can register once the roster is live.
How does it work?
The admin creates a roster template from the admin dashboard (with roles, description, etc.).
Once activated, it generates a public link like: /dashboard/roster.html?roster_id=...
Users can view the page and click on a class to register for it.
The admin can validate or remove pre-registrations from the interface.
When the roster is finalized (by the admin), the registered users are officially confirmed.
โ๏ธ Once finalized, each confirmed participant will automatically receive a private message (DM) with the roster details.
๐ Make sure your Discord privacy settings allow DMs from server members to receive the message.
๐ธ Transfer NexusCoins to Another User
Use the command !give @username 100 to transfer NexusCoins to another member of the same Discord server.
The member must be on the server (online or not): theyโll receive the coins even if theyโve never used the bot.
The transfer is instant and irreversible: always double-check the mention and the amount before sending!
No transaction history is stored: transfers are anonymous and cannot be traced afterward.
If you try to send more coins than you own, the transfer will be rejected.
You cannot send coins to yourself or to a bot.
Example: !give @David 500
๐ฒ Dice Rolling (D&D, Roleplay Games, etc.)
The bot allows you to roll dice for RPG sessions, contests, or quick random decisions.
Basic command: !roll (rolls 1d20)
You can customize your roll:
!roll d6 (rolls 1 six-sided die)
!roll d100 (rolls 1 hundred-sided die)
!roll 3d10 (rolls 3 ten-sided dice and shows the total)
You can roll up to 20 dice per command (!roll 20d6), with each die having 2 to 100 faces.
The result is displayed in the channel for everyone: perfect for Dungeons & Dragons, Neverwinter Nights, or random tiebreakers!
Available to all members โ no special permissions required.
๐ฏ Random Draw Between Players (!draw)
The bot allows you to randomly pick one or more winners from members in a Discord channel โ ideal for loot, giveaways, or any random selection.
Basic command: !draw
Randomly picks 1 winner from all members in the channel (excluding bots).
You can pick multiple winners at once:
!draw 3 โ randomly picks 3 winners from the channel
You can draw only among specific users:
!draw @User1 @User2 @User3 โ picks 1 winner from those users
!draw 2 @User1 @User2 @User3 โ picks 2 winners from the given list
Limit: 25 participants per draw.
Bots are never included in the draw.
Stylish reveal: the bot adds suspense with a โ3... 2... 1...โ countdown before announcing the result in an embed with the winner(s) mention ๐
Useful for:
Deciding loot drops in a dungeon, event, board game, etc.
Running giveaways or mini-lotteries on your Discord server.
Picking winners fairly and transparently.
Available to all members โ no special permissions required.
๐ Who Can Do What? (Users, Admins, Super Admins)
Regular User
Can register for an active roster.
Can participate in polls, LFGs, and events.
โ Is automatically registered in the database upon first interaction.
โ Can access the user dashboard to track NexusCoins, rosters, etc.
Can use the !roll command to roll dice (D&D, roleplay games, etc.).
Can transfer NexusCoins to other users on the same Discord server using the !give command.
Administrator (added via !addadmin)
Can create polls, LFGs, and events.
Can create roster templates.
Can validate pre-registered users in the rosters they manage.
Super Admin (added via !superadmin)
Has all admin rights + full access to the admin dashboard.
Can add or remove other administrators for a server.
Special Case: User Becomes Admin
โ When a member is promoted to admin/superadmin, they are automatically registered as a user if not already done.
In summary:
Any user who participates in something (LFG, poll, roster...) is automatically registered in the database and can be rewarded!
๐ง NexusIA Bot Permissions Configuration
To ensure the NexusIA bot works properly on your Discord server, it is essential to grant it certain permissions. Without them, the bot may not respond correctly to commands, manage events, or handle polls.
โ Recommended Permissions when Adding the Bot:
๐ Read Messages
๐ Send Messages
๐ Add Reactions โ for polls, LFGs, and events
๐ Manage Messages โ to clean up duplicate reactions or delete messages
๐ Read Message History โ to modify previously sent bot messages (e.g., LFGs / Events)
๐ Embed Links โ to display rich content in messages
๐ Use External Emojis (optional) โ if you want to use custom emojis in reactions
โ Where to Set These Permissions?
Go to your server settings โ Roles
Select the role assigned to NexusIA, or create one dedicated to it
Make sure this role is placed high enough in the role hierarchy to be effective
Enable all the permissions listed above
โ Channel-Specific Permissions:
Go to Channel Settings โ Permissions
Add the NexusIA bot or its role to the list of allowed members
Grant it at least the following permissions:
View Channels
Read Messages
Send Messages
Add Reactions
Read Message History
Manage Messages
โ ๏ธ Important:
If the bot doesnโt respond in a channel, check:
That it has permission to send messages and add reactions in that channel
That the roles are correctly placed in the hierarchy
โ Note:
If the bot doesnโt have permission to send messages in a channel, no error message will be shown.
To users, it may simply seem like the bot isnโt working.
Always double-check permissions if the bot remains silent!
๐ก Tip: Create a dedicated admin commands channel for actions like !lfg and !event.