Coach Guide

This guide is for coaches who have additional permissions and responsibilities on the server.

Managing Lessons

1. Adding a Lesson

Coaches can add new lessons using the interactive !add_lesson command. This command will guide you through the process of setting up a new lesson by asking for details like the date, time, title, and coin cost.

!add_lesson

Example:

The bot will ask you a series of questions, and you will respond with the lesson details:

Bot: Please enter the date for the lesson (DD/MM/YYYY):  
User: 15/09/2024  
Bot: Please enter the time for the lesson (HH:MM):  
User: 14:00  
Bot: Please enter the title for the lesson:  
User: Advanced Python  
Bot: Please enter the coin cost for the lesson:  
User: 20  
Bot: Lesson 'Advanced Python' on 15/09/2024 at 14:00 costing 20 coins has been added.

2. Editing a Lesson

If you need to edit a lesson, use the !edit_lesson command followed by the subcommand for the specific aspect you want to change. Subcommands include date, time, title, and coin_cost.

!edit_lesson [subcommand] [lesson_id] [new_value]

Example:

!edit_lesson date 1 16/09/2024

The bot will update the lesson's date and confirm the change:

Lesson 1 date updated to 16/09/2024.

3. Deleting a Lesson

To delete a lesson, use the !delete_lesson command followed by the lesson ID. This will remove the lesson and unsubscribe all users.

!delete_lesson [lesson_id]

Example:

!delete_lesson 1

The bot will confirm the deletion:

Lesson with ID 1 has been successfully deleted.

Managing Users

1. Giving Coins to a User

Coaches can give coins to any user with the !give_coins command. This is useful for rewarding users or providing them with the coins they need to subscribe to lessons.

!give_coins [member] [amount]

Example:

!give_coins @User 50

The bot will confirm the transfer:

50 coins have been added to User's balance.

2. Checking a User's Balance

Coaches can check any user's coin balance using the !balance command, specifying the member whose balance you want to check.

!balance [member]

Example:

!balance @User

The bot will respond with the user's balance:

User has 120 coins.

Managing Crusades

1. Creating a Crusade

Crusades are collections of lessons grouped together. You can create a crusade using the !create_crusade command.

!create_crusade [name] [cost] [lesson_ids]

Replace [lesson_ids] with a comma-separated list of lesson IDs that belong to the crusade.

Example:

!create_crusade "Python Mastery" 100 1,2,3

The bot will confirm the creation of the crusade:

Cyber Crusade 'Python Mastery' created with ID 1, cost 100 coins, and lessons: 1, 2, 3.

Logging and Reports

1. Generating a Report

Coaches can generate HTML reports of all activities, lessons, and user data using the !get_report command. The report will be sent to the coach in a direct message.

!get_report

Example:

The bot will generate and send you a report, like this:
Your report has been generated and sent to your DMs.

2. Viewing All Balances

To view the balances of all users on the server, use the !all_balances command. This command will list the balances for everyone, allowing you to see how many coins each user has.

!all_balances

Example:

All Balances:  
User1: 150 coins  
User2: 200 coins

3. Viewing and Managing Lesson Subscribers

You can view all subscribers for a specific lesson with the !show_subs command. This command will list all the users subscribed to a given lesson.

!show_subs [lesson_id]

Example:

!show_subs 1

The bot will list all subscribers:

Subscribers for Lesson 1:  
User1, User2

If you need to unsubscribe a user from a lesson and refund their coins, use the !unsub_lesson command.

!unsub_lesson [lesson_id] [member]

Example:

!unsub_lesson 1 @User

The bot will confirm the unsubscription and refund:

User has been unsubscribed from Lesson 1 and refunded 10 coins.

Finally, you can broadcast a message to all subscribers of a lesson using the !broadcast command.

!broadcast [lesson_id] [message]

Example:

!broadcast 1 "Reminder: The lesson starts in 30 minutes."

The bot will send the message to all subscribers of that lesson.

If you have any questions or need further assistance, feel free to reach out to the bot admin!