Delayed for half a year by my own unannounced departure from the game, it is finally here: the AugustinAndroid NS-based Discord bot. It is significantly lighter on features than I had originally hoped, but perhaps I will eventually find time to add the rest. Anyway, enjoy.
User tag: @AugustinAndroid v2#1723
User ID: 459227558274138133
Why should I invite this bot to my server?
Because this is the only NS-based bot you will ever need. For one, it has some marquee features that you cannot find anywhere else. It also has the standard set of tools that any good server needs, but fully-integrated and improved. It is powerful, flexible, and if it were any smarter, it would take your day job so you could play NS full-time. Not that you would. Let me elaborate a bit: Anyone can set up a few crude functions with Dyno. Almost anyone can download Red, stick it on some cheap hardware, find a couple cogs online, and call it a "custom bot." That is not what you are looking at here. AugustinAndroid (AAbot for short) is the first-ever complete and publicly-available Discord bot created exclusively for this game, and it requires no technical expertise to use. Read on!
What can this bot do?
You mean, what can it not do? The full documentation is too long to include here, but the >help command provides information on all available commands. Notable features include:
NSVerify. This one is the crown jewel, the most important of the bot's onboard systems. In a nutshell, NSV ties a player's Discord account to their nation(s). With its database of nation records, it automatically assigns Discord roles to unverified accounts, region residents, organization members, visitors, and CTE players, depending on your server's settings. For maximum security, unverified accounts can be prevented from seeing your public channels and memberlist. Residency and CTE status, along with the corresponding roles, are updated daily. The more servers the bot runs on, the easier NSV will be to use, because many users will be pre-verified from other servers when they enter a new one. Rejoin a server you left previously, and you will not have to re-verify. (Relax, spies and R/Ders: privacy is important to us too. The bot will never leak your identity on one server to another server, and you can remove your identity from the database at any time.)
Join/leave/ban messages. Technically this is part of NSV, but it is worth mentioning separately. If you have ever wondered about the mysterious @invalid-user who just left your server, or found the built-in join notification inadequate, this is for you. Sure, other bots offer join/leave messages... but not like this.
Power User tools. This group contains everything you want to give your trusted officials, but keep out of reach of ordinary players. That means command scheduling, DM alerts, polls/surveys, and a lot more. One of Discord's more frustrating limitations is that roles can be @mentioned by anyone or no one, with no settings in between. With AAbot, Power Users and above can ping roles that are not set to mentionable.
Moderation tools. All the usual warn/kick/ban commands are here, plus a few other handy features. The mod system is tied to the same user database as NSV, simplifying the backend and enabling server moderators to more effectively monitor users. Trying to check someone's warning record, but they keep changing their Discord username? Just enter their nation name instead.
Administration tools. Sometimes the power of a Discord admin role is not enough for you, and you feel the need to benevolently address everyone with a certain role via DM, or just kick everyone with that role out of the server. Mass Actions let you handle a batch of users or roles in a single command. You can also automate admin actions by placing commands on a schedule. For example, a particular channel could be automatically opened on Saturdays only and hidden the rest of the week. (This feature is incomplete, but is a high priority and will be finished soon.)
Backups and logging. Admin went rogue and deleted all your roles and channels? A user under investigation went back and edited all their incriminating posts? Missing timestamps for an event that did not show up in the Audit Log? The bot can recover everything with a single command. (This feature is incomplete, but is a high priority and will be finished soon.)
NationStates data. Request real-time information about a nation, a region, the world, or the WA. The >swap command, which shows you a list of nations you have not endorsed, is especially popular.
General-purpose commands. This one is a catch-all: "general-purpose" refers to reminders, user profiles, a random number generator, and more.
Developer support. A support ticket command allows servers to report issues as they arise, and I will personally troubleshoot them as fast as possible. In addition, all users have access to commands showing the ping response, uptime percentage, server information, and bot documentation.
What, was nine not enough for you? You really need a tenth set of features?
Can this bot spy on my conversations or damage my server?
Excellent question. Yes it can, and you use this software at your own risk. Due to the quantity and scope of all the complicated features on board, it requires the Administrator permission to function. However, I am the sole developer and retain 100% control of the code, and I promise unconditionally that I will not use it for malicious purposes. The owner of each Discord server, and any administrators they designate, will be the only people controlling this bot on their own server.
Can it steal my nation?
No. The verification feature uses the NS API, with token authentication. It is not possible for a third party to impersonate you or steal your nation using this system.
Why should I trust you?
Another fair question. There are a few reasons.
The bot has been running on a number of major servers for over half a year as part of a closed beta test. Its predecessor was fully public for over a year before that. We have never had a security incident.
I no longer play this game. I have absolutely no in-game ambitions or motivations anymore, political or personal. Nothing the bot can do or see on NS-related Discord servers has any value to me. I am only releasing it because people keep asking me and it seems like a shame to waste all the effort of building it.
I have nearly a decade of clean history and a Commendation, for whatever that is worth.
Let me get real for a second, as the person who wrote this bot. I am an engineer who does this sort of thing for fun, not a twelve-year-old troll. I just want people to get some use out of this.
Is it legal by NS rules?
100%. An internal rate-limiter keeps the bot well under the 100/min ceiling for API calls. Our quota of over 130k calls per day should be more than sufficient, even when distributed across a large number of servers. Much of the heavy lifting is done by the daily dumps anyway.
Can you add a feature that posts memes whenever I @ my friend???
If you have a suggestion for a new feature, please post it in this thread. If you send me a telegram or Discord DM, it may get lost. I will consider all reasonable suggestions for features that would benefit most or all servers using this bot. I am not likely to custom-build something for a single server, because this has backfired in the past and cost me significant time and effort.
I am a nerd. Can I get more details?
Absolutely. The program is written in Python 3.7, with user and configuration data stored in an instance of MongoDB. Everything is hosted on my local server, which is on a UPS and has 99.9% uptime. The underlying library is discord.py 1.2.3. Cutting edge, baby. Other than that library and a small handful of dependencies, everything under the hood is original. The source code will not be released, as I put a great deal of work into it and I would like it to remain proprietary. However, if you have any questions, concerns, or curiosities over the way it works, I am very happy to discuss the details with you.
Nations verified: 2118
Three-month uptime: >99.7%
Top five NS servers: Augustin Alliance (473), Anteria (398), Lazarus (214), Queen Yuno's Embassy (128), Union of Democratic States (99)
Expansions to the Administration and Moderation suites. Mass message deletion and precise role/channel control are at the top of the list.
Audio. This includes voice chat recording and music streaming.
Games. There are a number of classic forum-compatible games (such as Resistance and trivia) that I would like to implement when I have time.
Other mysterious things that I do not want to tease you with in case I never get around to making them.
Created by August. Do not reproduce, in whole or in part, without explicit permission.