Here's my CODStatusBot that I've been working on for the past few months. It started out as a learning project, where I used several checkers and learned as I went along. I'm still learning and improving this bot, probably more than I should, to be honest. But the 40-50 servers who currently use it seem to really appreciate it, so I continue to maintain and upgrade it.
It's currently hosted 24/7 on a premium server located in the US to minimize response times and downtimes.
I started out working with code and streamlined the source he had from another website. Then I attempted to make a more personalized version with JavaScript and Node, and got decent results. I then got creative by making a checker that was integrated into to monitor accounts in bulk and show the status updates right in the sheet, color-coded for easy identification of the current status. Then I found a user by the name of and his post on a bot written in Golang, and I decided to try it out. Unfortunately, his link to get it working didn't fully work and his repo had many problems I had no idea how to solve. So I started learning and eventually got his code up and running. I liked the ease of learning Go, so I've been working on this ever since. This has been nearly 4-5 months now and the source code has come a long way, and so have I in learning Golang.
So if you're still here, I'd like to finally and officially add my bot for everyone to use or even help. My code shares less than 9% of probably a retard's code and pretty much just the Call of Duty API itself with noxbodyyy's version.
Here's my CODStatusBot . You're welcome to participate in improving it or submit suggestions. It's currently always in a work in progress state so the code may or may not compile correctly at all. Once I compile and get a good working version, I normally push the updated version to my host server for the Discord bot itself and that runs continuously. So the repo could have changes that could have errors. So if you decide to compile for yourself, be warned your mileage may vary or you may have to change some things or even go back with some commits I made to find a version that works for you. Or you could just add the one already up and running that's working great since I started this journey.
You can add this bot to one of your servers in discord using the Offical Discord App link:
or you may compile the code and run one on your localhost all i ask is if you use the source that you contribute if possible.
<title> refers to a descriptive title for your account. It can be anything; it's for your reference on identifying which account you're monitoring.
<sso_cookie> refers to the SSO (Single Sign-On) cookie associated with your Activision account.
<account> refers to the title of the account you want to interact with. This is the title that you set previously when adding an account to be monitored.
/addaccount
Allows you to add a new account to be monitored by the bot. Usage:
Code:
/addaccount <title> <sso_cookie>
Example:
Code:
/addaccount MyAccount 1234567890abcdef
/removeaccount
Allows you to remove an account from being monitored by the bot. Usage:
Code:
/removeaccount <account>
Example:
Code:
/removeaccount MyAccount
/accountlogs
Displays the last 5 shadowban logs for a specific account. Usage:
Code:
/accountlogs <account>
Example:
Code:
/accountlogs MyAccount
/updateaccount
Allows you to update the SSO cookie for an existing account. Usage:
Code:
/updateaccount <account> <sso_cookie>
Example:
Code:
/updateaccount MyAccount abcdef1234567890
/accountage
Displays the age of a specific account. Usage:
Code:
/accountage <account>
Example:
Code:
/accountage MyAccount
Notifications
The bot will automatically send notifications to the channel where the account was added whenever there's a change in the ban status of that account. Additionally, the bot will send a update every 24 hours for each account, confirming that it's still being monitored. upon a expired or invalid cookie you may also receive a notification stating so and for you to update the cookie or remove the account.
Support
If you encounter any issues or have any questions, dont be afraid to ask.
And finally, for all those who just want the code so they can attempt to do whatever it is you want to attempt, here is my repo. Just know its current state is never guaranteed as I'm constantly making breaking changes that may not compile correctly or it may still have bugs as I'm constantly changing or adding stuff. The bot that's hosted comes from this repo, although it's compiled at a time when the code was bug-free, usually before I add more commands or attempt an idea for it. Sometimes it doesn't work or I have some errors in the code, so just assume you'll have to either go back in the commit history to find a working commit or fix whatever error you run across. And if you do this, please don't hesitate to do a pull request and submit your changes for that error fix.
when you try to add acc only says "CoD Status Bot
APP
— Today at 22:34
Hello, there!"
Hmm, that was weird but its been fixed. thank you for letting me know.
It was a bad url set for the interaction endpoint with discord when the app was going through the application approval process for it to be listed on the directory page and has been removed now as it doesnt use a url endpoint but uses discords gateway instead.
Hmm, that was weird but its been fixed. thank you for letting me know.
It was a bad url set for the interaction endpoint with discord when the app was going through the application approval process for it to be listed on the directory page and has been removed now as it doesnt use a url endpoint but uses discords gateway instead.
thanks btw its giving false result. even tho im sb it says account not banned "has changed to good" even tho its sb.
thanks btw its giving false result. even tho im sb it says account not banned "has changed to good" even tho its sb.
Is it staying at a false result? Every now and then it will change from shadow to good and then back to shadow within 30 minutes or so. It's something weird about Activision.
I'll check it out and see if I can improve it as I'm hoping to finish up the next feature of implementing the choice between channel notifications or having them sent to your DMs instead hopefully here soon.
well we have hit a snag as i reviewing your issue trying to recreate it ive discovered a change in the endpoint used and well it may take a bit to find a way to use this new change from activision
I have made some progress on the issue and can say I’ve successfully obtained a correct response. Now, I’m simplifying it and going to see if it’s possible to continue using just the SSOCookie alone or if it will require more information. I will update when I get that sorted out.
thanks btw its giving false result. even tho im sb it says account not banned "has changed to good" even tho its sb.
It should be working now with a couple of extra changes to how it handles expired or invalid cookies. It now checks the cookie when first entered, and if it's no good, it stops at that moment and informs you. I also fixed the responses that were incorrect, at least for now, until the API fully converts to the new endpoint.
I have fixed the incorrect responses for now, at least until Activision fully moves over to the new v2 API.
I've also added an anonymous feedback command so you can suggest a feature or whatever it is you want without revealing who you are (please don't make me regret this). You call the command with your message and it will send it to my DMs anonymously.
I also improved the /help command to be a little more clear on how to obtain your cookie.
The bot now officially supports slash commands with the slash command badge, making it easier and more intuitive to use.
I have a few other neat commands in the works. Currently working on a rewards claim command to claim all available rewards for the cookie/account. I think it'll be cool but obviously would rely on updating it with current codes.
I improved the logic in how it handles notifications and when it should send one out or not, especially for the guys who got a perm and refuse to remove it from the bot. It now skips over checking it to save resources. You will still get a reminder notice that it's being monitored.
although i had a major update nearly finished but activision has fully merged over to the new api endpoint so this bot is now giving fale returns again untill i find a new way to continue this if i even do so i may finish up the update i was working on and then just archive this
I'm still working on the new endpoint changes, so it doesn't fully work yet, but the new command system is in full effect now.
Summary of Changes and Improvements for CODStatusBot
Account Management Enhancements
1. Consolidated account management commands
Changes:
- Replaced old individual commands with new, comprehensive versions.
- Implemented modal-based input for add, update, and remove account commands.
2. Enhanced account selection process
Changes:
- Implemented message component interactions for selecting accounts.
3. Database-driven account system
Changes:
- Updated the Account model to include a Title field.
- Modified command handlers to work with database queries instead of command options.
- Simplified command registration to use global commands.
- Removed code updating command options with account titles.
Command Registration Improvements
4. Optimized command registration system
Changes:
- Implemented batch and asynchronous command registration.
- Added a caching system for tracking registered guilds.
- Implemented rate limiting for API calls.
- Defined commands as global instead of guild-specific.
- Implemented a single bulk registration for all global commands.
Interaction and Error Handling
5. Streamlined interaction handling
Changes:
- Centralized interaction handling in a single function.
- Implemented command-specific handlers based on command names.
6. Improved error handling and logging
Changes:
- Updated error responses in new commands to be more informative.
- Ensured consistent error and info logging across new commands.
- Added more detailed error logging throughout the code.
- Implemented structured logging for better log analysis.
User Notification and Preferences
7. Implemented user notification preferences
Changes:
- Added NotificationType field to the Account model.
- Created setpreference command for users to set their preference.
- Modified sendNotification function to respect user preferences.
8. Notification frequency control and centralized sending
Changes:
- Implemented notificationInterval to control how often daily updates are sent.
- Added cooldown logic for expired cookie notifications.
- Created sendNotification function to handle all types of notifications.
- Modified existing notification sends to use the centralized function.
System and Configurability Improvements
9. System changes for improved performance and maintainability
Changes:
- Implemented a database-driven account system for better scalability.
- Switched to global command registration to simplify management and ensure consistency.
- Introduced asynchronous and batch processing for command registration to reduce startup time and avoid rate limits.
- Centralized interaction handling for better organization and ease of updates.
- Enhanced error handling and logging for improved reliability and debugging.
- Updated database schema and initialization to keep the application model in sync and simplify updates.
10. Configurability improvements
Changes:
- Moved key parameters (check intervals, cooldown durations, etc.) to environment variables.
- Implemented init() function to load and validate configuration on startup.
Utility Commands
11. Updated and maintained utility commands
Changes:
- Kept help, created listaccounts, and feedback commands.
Optimized Account Checking
12. Optimized account checking mechanism
Changes:
- Implemented checkInterval to control how often accounts are checked.
- Added logic to skip checks for accounts that were recently checked.
13. Enhanced permabanned account handling
Changes:
- Added IsPermabanned flag to the Account model.
- Implemented logic to skip regular checks for permabanned accounts.
- Added periodic cookie validity checks for permabanned accounts.
Codebase Simplification and Modularity
14. Simplified codebase and enhanced modularity
Changes:
- Removed redundant or obsolete code related to old account management.
- Separated concerns more clearly in the new command structure.
- Reorganized functions for better logical flow.
- Added comments to explain complex logic and important operations.
Command Naming
15. Standardized command naming
Changes:
- Adopted a consistent naming convention for new commands.
A major update for CODStatusBot is coming again sooner than expected. Significant progress has been made with the new v2 endpoint. A successful request was made to the new v2 Ban Appeal endpoint, and a valid response was received using the bot and the same old ssocookie.
The focus is now on optimizing the code and integrating new features to enhance user experience. The goal is to make the bot as user-friendly and configurable as possible. The new feature will allow for the use of either an API key or credits purchased through the Discord store. Since this will now incur costs, additional settings will be added to control how frequently tokens are used and any other relevant configurations. The bot will remain open source.
## What's New?
1. Support for the New v2 Ban Appeal Endpoint: Integration with Activision’s latest API is complete. The bot’s functionality is being enhanced to utilize this new endpoint effectively.
2. Enhanced CAPTCHA Handling: EZ-Captcha integration has been implemented to improve efficiency in solving CAPTCHA challenges, reduce errors, and speed up response times.
3. Improved Error Handling and Logging: The systems have been overhauled for better issue identification and resolution.
4. Better Initialization Process: The bot now validates all necessary environment variables on startup, minimizing configuration-related issues.
## When to Expect the Update
The update is still in the initial stages of testing, as a solid enough response was just received to continue with the project. Efforts will be made to release it as quickly as possible.
Feedback is always welcome. Stay tuned for more updates!
CODStatusBot Update: Major Improvements and EZ-Captcha Integration
Happy to announce that CODStatusBot has been fully updated and is now running at 98% efficiency! This update introduces several significant improvements and changes:
Key Updates:
EZ-Captcha Integration: I’ve transitioned exclusively to EZ-Captcha for now. This change provides more reliable and efficient CAPTCHA solving capabilities.
Removal of 2captcha Part of the reason for delayed up was adding and then removing 2captcha integrations.
Enhanced Error Handling We’ve implemented more robust error handling throughout the bot, providing clearer feedback and improving stability.
Performance Optimizations Various performance enhancements have been made to improve the bot’s response time and efficiency.
Updated Command Structure The bot’s commands have been refactored for better usability and consistency.
Improved Database Interactions We’ve optimized database queries and interactions for faster performance and reduced load.
Technical Changes:
Updated
Code:
ezcaptcha
to handle all CAPTCHA solving operations.
Removed
Code:
2captcha
and all associated references.
Modified
Code:
http
,
Code:
models
,
Code:
setcaptchaservicecommand
,
Code:
addacountcommand
, and
Code:
updateaccountcommand
to work exclusively with EZ-Captcha.
Updated
Code:
main.go
to remove 2captcha references and streamline initialization processes.
Refactored command handlers for improved consistency and error handling.
Updated database models to reflect new CAPTCHA handling approach.
Improved rate limiting and cooldown mechanisms for better API compliance.
User Impact:
Users should set there own EZ-Captcha API key using the
Code:
/setcaptchaservice
command. The bot will then use the EZ-Captcha api key for there accounts and in the next update will allow them to change how often it runs a check to effectively control there own cost at there own rate.
appreciate your patience during this update process. The bot is now stable, and ready to provide even better service in monitoring your Call of Duty accounts!
Thank you for using CODStatusBot!
[hr]
For any issues or feedback, please use the
Code:
/feedback
command or open an issue on our . or contact me here on EPVP.
This is not the area for questions, but it's offline after a crash due to an error with one of the commands for handling the API keys. I'm currently working on a fix for this.
I will also be adding some type of global announcement for issues like this to help users stay informed about what's happening and any updates in general. Additionally, I'm implementing a new feature for handling expired cookies, as I’ve discovered a way to automatically get the expiration time of the cookie without requiring extensive information from the end user.
I've rolled out a new update and introduced several new commands to help with setting your own check intervals, as I had planned. It's almost at the level I envisioned.
The bot is also in nearly 200 servers! now awesome!
For those using the bot, please note that my personal tokens are used by default. This bot is not 100% free, which is why there are strict limits on check times. These limits can be unlocked and adjusted to your preference with your own captcha key.
There is a referral link available for when you sign up to get your key. I ask that you please use it when signing up, as it will help keep the bot free for everyone else. A percentage of what you spend there will be reinvested into the bot for everyone’s benefit. I haven’t settled on an exact check rate yet, as I’m still finding a good balance between cost and time between checks.
Here are the recent changes; I’ll update the README after I add a few more changes:
Enhance user experience and improve account management features
Reduced SSO cookie character limit to 100 in addaccountcommand.go
Implemented persistent captcha key storage for users in user_settings.go
Added captcha key validation using getBalance API in ezcaptcha.go
Created new ssocookie.go file for SSO cookie decoding and expiration checking
Updated mainfunction.go to include SSO cookie expiration notifications
Modified setcaptchaservicecommand.go to use persistent captcha keys
Updated user settings to use default values when custom settings are not set
Implemented custom check intervals and notification preferences per user
Added functionality to revert to default settings when captcha key is removed
Improved error handling and logging throughout the codebase
Enhanced notification system to respect user preferences and global cooldowns