GrinMax Tracking System is a comprehensive Discord bot designed to streamline server management through automated tools for tracking, deal monitoring, and ticket management. Built with the Pycord/Ezcord library, GrinMax integrates with the DHL API to provide shipment tracking and offers additional capabilities tailored for server activity management and partner collaborations.
Key features include real-time shipment updates, automated deal tracking, customizable statistics, and a full ticketing system with inactivity detection to support effective oversight of all server interactions.
- Track DHL shipments with real-time updates.
- Start, delete, and list tracking numbers via commands.
- Detect and save new deals posted in the server.
- Display guild deal stats across various time periods via slash commands.
- Whole custom ticket system to manage deals and partners.
- Manage partners and their deal channels with ease.
- Last but not least, detection and handling for inactive tickets.
-
Clone the repository:
git clone https://github.com/plesioo/GrinMaxTracking-Bot.git cd GrinMaxTracking-Bot -
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables. Create a
.envfile and add your credentials:DISCORD_TOKEN=your_discord_bot_token MONGO_DB_CLIENT=your_mongo_db_connection_string DHL_API_KEY=your_dhl_api_key -
Set up the config.py file:
ERROR_WEBHOOK_URL=your_error_webhook_url DEALS_CHANNEL_ID=your_deals_channel_id ADMIN_CHANNEL_ID=your_admin_channel_id TRANSCRIPTS_CHANNEL_ID=your_transcripts_channel_id PARTNER_CATEGORY_ID=your_partner_category_id PROD_GUILD_ID=your_guild_id DEAL_TICKETS_CATEGORY_ID=your_deal_tickets_category_id SUPPORT_TICKETS_CATEGORY_ID=your_support_tickets_category_id ADMIN_ROLE_ID=your_admin_role_id
Here is an explanation of what everything does:
| Variable | Description |
|---|---|
| your_errror_webhook_url | The webhook where all errors that occur during the usage of the system are sent. |
| your_deals_channel_id | The ID of the channel where your deals are posted. |
| your_admin_channel_id | The ID of the channel where your admins send deals to be posted. |
| your_transcripts_channel_id | The ID of the channel where all ticket transcripts are sent. |
| your_partner_category_id | The ID of the category where all partner channel to post deal webhooks are created. |
| your_guild_id | The ID of your guild and the bot is used in. |
| your_deal_tickets_category_id | The ID of the category where all deal tickets from other bots (e.g. Ticket Tool) are created. |
| your_support_tickets_category_id | The ID of the category where all support tickets from other bots (e.g. Ticket Tool) are created. |
| your_admin_role_id | The ID of the role that is used to determine if a user is an admin. |
/track start <tracking_number>: Start tracking a DHL shipment./track delete <tracking_number>: Remove a tracking number from active tracking./track list channel: List all active tracking numbers in the current channel.
Use the /stats [period] command to display key statistics for your guild, such as deal activity, which can be shared with partners.
Available Time Periods:
- Today
- This Week
- This Month
- Past 3 Months
- Past 6 Months
- This Year
- All Time
- Custom
/oos: Marks an active deal as out of stock, visually updating the deal post./activate: Marks an out-of-stock deal as active, visually updating the deal post.
/partner add <partner_name> [<deal_channel>]: Add a new partner to the system. This will create a new deal channel in the partner category or use the specified channel.
- Working Hours: Monday to Saturday, from 7 AM to 10 PM. (Sundays are excluded).
- 12-Hour Inactivity Reminder: If there is no activity on a ticket for 12 working hours, a reminder will be automatically sent in the ticket channel.
- 24-Hour Inactivity Closure: After 24 working hours of inactivity, the ticket will be closed. Admins are notified, and support controls are available (only if the ticket was created by this bot).
If you have any issues or questions, you can send me a DM on Discord. Username: plesioo