NATION

PASSWORD

AugustinAndroid v2 Public Release

Bug reports, general help, ideas for improvements, and questions about how things are meant to work.
User avatar
August
Spokesperson
 
Posts: 134
Founded: Oct 07, 2011
Anarchy

AugustinAndroid v2 Public Release

Postby August » Tue Sep 10, 2019 8:13 pm

Image

It is finally here: the AugustinAndroid v2 NS-based Discord bot! This project is under active development.


Invite the bot to your server
Join the support server
Dispatch version



On to the FAQ...

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 v2 (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:
  1. 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.)
  2. NSNexus. This is a powerful feature that links all Discord servers that operate any edition of the bot, allowing for easy and seamless inter-server communication between their members. Servers can connect to any or all of the following: the global news stream, which permits official updates from regions and organizations; the global chat stream, which permits general chatter; and embassies, which are two-way portals between a pair of servers.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. General-purpose commands. This one is a catch-all: "general-purpose" refers to reminders, user profiles, a random number generator, and more.
  10. 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.
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.
  1. 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.
  2. 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.
  3. I have nearly a decade of clean history and a Commendation, for whatever that is worth.
  4. 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.3. Other than that library and a small handful of dependencies, everything under the hood is original. The bot is closed-source (see below), but if you are curious or concerned about the way it works, I am very happy to discuss the details with you.

Can you release the source/allow others to host it?

No, for the following reasons:
  1. The bot has a central database. If others were to host the bot, they could use it to edit the database maliciously. They could then impersonate others or give themselves administrative rights in other servers. Without that database, the bot can only provide the most basic functionality and is nearly useless, so a database-free version of the bot is not an option.
  2. I publish features and fixes on a constant basis. Because the bot is hosted in only one place, it is always up-to-date everywhere. If someone were to review a section of the code, it might be obsolete by the next day.
I can provide additional reasons on request.

Latest Stats

  • Unique users: 3000
  • Unique servers: 82
  • Nations verified: 4450
  • Three-month uptime: 99.9%

Important note: If you adjust a setting and things do not change instantly, please keep in mind that NS-based roles update daily at 3:45 AM, US Eastern time.
Last edited by August on Sun Feb 09, 2020 11:22 pm, edited 5 times in total.
|| AA Founder - Retired.

My Projects: AugustinAndroid (Server) | Augustin Alliance (Server) | NS Leaders (Server) | Tech suggestions | About me
I heard it was you / talkin' 'bout a world where all is free / it just couldn't be / and only a fool would say that...

User avatar
DiRito-Opolis
Secretary
 
Posts: 31
Founded: Mar 27, 2017
Capitalizt

Postby DiRito-Opolis » Tue Sep 10, 2019 8:21 pm

Glad to see that other people will finally be able to use this bot. I can attest that it is a really helpful tool for NS. And, as usual, awesome stuff, August.
Last edited by DiRito-Opolis on Tue Sep 10, 2019 8:22 pm, edited 1 time in total.
Augustin Alliance
AARFGHCKLENADNJTFReference

|| AA Administrator of the Augustin Alliance


User avatar
Tulov
Spokesperson
 
Posts: 186
Founded: Aug 29, 2016
New York Times Democracy

Postby Tulov » Tue Sep 10, 2019 8:37 pm

DiRito-Opolis wrote:Glad to see that other people will finally be able to use this bot. I can attest that it is a really helpful tool for NS. And, as usual, awesome stuff, August.

Everything DiRIto said, but with extra emphasis on the "really helpful tool" part. AugustinAndroid is to die for.

User avatar
Queen Yuno
Diplomat
 
Posts: 643
Founded: Dec 30, 2015
Psychotic Dictatorship

Postby Queen Yuno » Wed Sep 11, 2019 4:12 am

best bot in existance
Supreme Loligarchy
I do free grammar checks! Telegram me for Discord!

"Vote early, vote often." -Pallaith
Sierra Lyricalia wrote:
Galiantus III wrote:


...is there a reason the logo for the anti-NPO New Year's jumpers looks like the butt and legs of a kneeling naked lady? :unsure:


Imperium Anglorum wrote:Lol badge hunting accusations against people who already have the badge. You don't get your whole page covered in badges when you pass more resolutions, you know.


Vancouvia wrote:
Vancouvia wrote:

Alright my bad I guess I'll check back in December 21st


No way

User avatar
The Noble Thatcherites
Chargé d'Affaires
 
Posts: 482
Founded: Dec 03, 2015
New York Times Democracy

Postby The Noble Thatcherites » Wed Sep 11, 2019 5:27 am

DiRito-Opolis wrote:Glad to see that other people will finally be able to use this bot. I can attest that it is a really helpful tool for NS. And, as usual, awesome stuff, August.
Ditto
—Thatcher Whitehall
Kanglia wrote:Thatcher. Wants. As. Little. To. Do. With. You. All. As. Possible.
Résumé
The Union of Democratic States
Citizen and Founder
Prime Minister (x1)
Motion(s) Passed (x15)
Ambassador (x21)
Publisher for The Union Post (x5)
Constitutional Framer (x4)
The Free Nations Region
Citizen and Legislator
Justice (x1)
Motion(s) Passed (1x)
The Allied States
Citizen
Senator (x1)
FORGE
Representative (x4)
Chancellor (x1)
ITDA
Founder
Representative (x1)
Secretary General (x1)
Charter Author (x2)
Court of International Law and Justice
Foreign Affairs Justice (x1)
Europeia
Citizen and Assemblyman (x1)
The South Pacific
Citizen
SPSF Recruit (x1)


The Union of Democratic States

User avatar
August
Spokesperson
 
Posts: 134
Founded: Oct 07, 2011
Anarchy

Postby August » Fri Sep 20, 2019 12:31 pm

The Noble Thatcherites wrote:
Queen Yuno wrote:
Tulov wrote:
DiRito-Opolis wrote:
Thanks for the support!
August wrote:Also, try to avoid running the server setup process several times at once. This will happen if you use the >setup command while setup is ongoing, if you try to set up multiple servers simultaneously, or if you have the bot join and leave your server multiple times in short succession. The bot can handle it, but it will probably be confusing to you and result in unexpected behavior.
This kept happening, so I blocked it. The bot no longer allows a single person to run the setup multiple times in parallel. A number of stability improvements, bug fixes, and minor features have also gone live since this release.

In the week or so that the Moose has been publicly available, we have added ~300 unique users and tripled the server count. I encourage server owners to give this a try, and join the support server if you have questions or want to try the features out first.
|| AA Founder - Retired.

My Projects: AugustinAndroid (Server) | Augustin Alliance (Server) | NS Leaders (Server) | Tech suggestions | About me
I heard it was you / talkin' 'bout a world where all is free / it just couldn't be / and only a fool would say that...

User avatar
August
Spokesperson
 
Posts: 134
Founded: Oct 07, 2011
Anarchy

Postby August » Sat Oct 12, 2019 8:28 pm

Updated the OP.

We now have nearly 2600 verified nations in the database, and servers using the bot have nearly 2000 combined unique members. Think about it, offsite admins: thousands of players who could be walking into your region's Discord server pre-identified, verified, roles all ready to go. What a time to be alive.

Since the last post here, I have written literally hundreds of feature updates and bug fixes. Development continues every day, and the code recently broke 10k lines. Uptime is steady at ~99.9%. I would like to release some complete documentation in dispatch form in the near future, but writing documentation is awful and it might take a while. For now, the >help command and the NSV dispatch cover almost everything.

More good stuff coming soon!
|| AA Founder - Retired.

My Projects: AugustinAndroid (Server) | Augustin Alliance (Server) | NS Leaders (Server) | Tech suggestions | About me
I heard it was you / talkin' 'bout a world where all is free / it just couldn't be / and only a fool would say that...

User avatar
Marxist Germany
Ambassador
 
Posts: 1736
Founded: Jun 07, 2018
Corporate Bordello

Postby Marxist Germany » Sun Oct 13, 2019 5:30 am

This is great!
Country represents RL views mostly. Not Marxist anymore.
Author of GA#461, GA#470, GA#477, GA#481, and SC#295

Ex-delegate of The United Federations; citizen of 10000 Islands | Gaming User#0721(Discord)
RP name: Germany
The National Factbook (WIP)
Ambassador Klaus Schmidt
Political Compass
PolitiStates Result
Pro:Laissez-faire, Cultural Nationalism, Guns, Free speech, Christianity, Same-sex marriage, United Ireland.
Anti:Extreme Progressivism, Abortion, Socialism, Interventionism, Mass-migration.
A high school student aged 15 from Ireland, living in Co. Dublin. Interested in politics, gaming, and history.

User avatar
August
Spokesperson
 
Posts: 134
Founded: Oct 07, 2011
Anarchy

Postby August » Wed Nov 27, 2019 12:39 am

The help menu just received a big update, so if you are running AAbot on your server, check it out! The update includes a lot of new commands that were previously in place but undocumented, as well as formatting, layout, and ease-of-use improvements. New features and tweaks continue to be added all the time.

Meanwhile, the bots have been busy! Since September, the lively, 300-person NS Leaders server has been fully automated by Custom v2. More recently, Generic v2 powered the second iteration of Caer Sidi's UCR Con, a major gameplay event with well over 300 attendees hosted on another server. Thanks in part to these, we reached a peak of 3400 all-time verified nations and 2500 unique accounts in 60 servers yesterday.

(As a side note, if you are one of the many people who thinks they are being cool/funny by sending abusive DMs to the bot, you are mistaken. Hate to end this on a negative note, but it had to be said.)
|| AA Founder - Retired.

My Projects: AugustinAndroid (Server) | Augustin Alliance (Server) | NS Leaders (Server) | Tech suggestions | About me
I heard it was you / talkin' 'bout a world where all is free / it just couldn't be / and only a fool would say that...

User avatar
August
Spokesperson
 
Posts: 134
Founded: Oct 07, 2011
Anarchy

Postby August » Wed Jan 29, 2020 10:22 pm

It has been a while since the last update, and the list of changes is staggering! Here are the highlights.

Features
1. NSNexus: connect NS servers together for fun and diplomacy! It is integrated seamlessly, easy to set up, and just as easy to moderate as an ordinary channel. See the dispatch for full details.
2. Logs: the bot logs absolutely everything it can get its hooves on. It is not greedy, though--if you want your server's logs, give it the command and it will share. Better yet, only admins can access full channel logs, and after one look they self-destruct. (Really.)
3. Server passwords: you now have the ability to set a password on your server. Nobody can enter unless you have given it to them. Simple as that.
4. Bot post editing: server moderators and above can edit the bot's posts on their servers. This is intended for posts made collectively by staff (such as in information channels), so editing does not need to rely on one person, but there could be all sorts of creative uses for this.
5. Nation banning: servers can ban accounts preemptively based on their verified nations. If you really hate that September guy but do not have his user ID, ban his nation to keep him from getting in.
6. Triggers: a classic feature where you speak a trigger phrase and the bot responds with some predetermined output.
7. Users by region: if you ever had the urge to do a demographic survey of your region, now you can. This command breaks down your whole server's membership by region of residency.
8 Iterate: by far the most powerful command that nobody ever uses, the mighty ITERATE! This command does nothing on its own, but combined with other commands it can save you hours of work. In short, it lets you run a command multiple times at once using different sets of arguments.

Improvements
NSVerify
1. If you join multiple NSV-enabled servers at once, each verification process waits for the previous one to finish before beginning. In the past they would run simultaneously, which was very confusing for the user.
2. The bot now makes it extremely obvious when it wants a nation name and when it wants a verification code, and rejects the answer if it is the wrong one of the two. For some reason a lot of people enter a name when asked for a code and a code when asked for a name.
3. Servers can choose to make privately-verified nations visible only to server staff. In the past the only benefit of privately verifying a nation was that it was not visible to other NSV-enabled servers where the member was present.
4. Re-verifying a nation updates your roles. In the past members had to wait until the bot's daily update for their roles to be corrected if they changed regions or revived a nation.
5. Sending the bot an uploaded image in the middle of verification no longer breaks the process. I have no idea why people were doing this to begin with.
6. If a member joins a server with join messages enabled and goes through NSV, the join message is not sent until after their verification is complete.

Scheduling
1. Long-term repeating commands have the correct intervals now. In the past the scheduler did not account for leap years and varying month lengths.
2. Commands cannot be scheduled to repeat less than a minute apart.
3. Scheduled commands on a server no longer fail to run if the bot's command prefix changes on that server.

Settings
1. The initial setup process no longer breaks when it tries to create roles and channels on a server with several hundred existing roles or channels.
2. Canceling is now an option when you are prompted by the settings menu to enter some text, such as a welcome message.
3. If you add the bot to multiple servers at once, only one initial setup process runs at a time. In the past they would run simultaneously, which was very confusing for the server owner.
4. Aliases and censoring are no longer part of the settings menu. Instead, they have their own commands.
5. The >settings command no longer breaks if you delete the message containing the menu instead of using the [5] button to close it.
6. Command prefixes are now limited to 32 characters.
7. The initial setup process no longer allows you to enter a nonexistent region when it asks which region is associated with your server. Seems obvious, right?

Utilities
1. The >post command can now upload images.
2. The >post command is no longer restricted to Power Users if it is being used via an alias. In other words, a standard user cannot use >post, but they can use an alias for >post if one has been created. This opens up custom commands to everyone.
3. Servers can create their own types of private alerts. In the past only the preset options "VC," "movie," "game," and "event" were available.
4. The output of the >uptime command is more detailed, making it easier to tracking downtime.
5. The embed command was split into >embed, which lets you create a long and detailed embed using prompts, and >quick_embed, which allows less detail but is faster and can be aliased.

Moderation/Administration
1. Channel logs are condensed for size and ease of reading.
2. Channel logs now include events for messages of any age. In the past edits, deletions, and reactions to messages outside the bot's cache were not recorded.
3. Messages are now logged even when the bot experiences downtime, although deletions, edits, and reactions are not.
4. Messages sent before the bot joined a server are now logged, although deletions, edits, and reactions are not.
5. The >ignore command is now available to moderators, not just administrators.
6. The system that logs server events to a channel was upgraded. You can choose to make the logs basic (arrivals, departures, and role assignments) or thorough (everything else).

NS commands
1. The nation command now provides links to card decks.
2. Commands no longer break if you include a # in a nation or region name for whatever reason.

General
1. The self-request role feature has been upgraded to allow mutually-exclusive role groups. For example, if a server has a role for each continent so that members can show where in the world they live, you could put them in a group of self-request roles so that each member could only have one. If a member has a role in a mutually-exclusive group and they request another one, their current role is removed first.
2. When a command tells you the elapsed time since a user account was created, a user account joined a server, or a server was created, the time now shows hours or minutes if it is less than a day.

Other
1. The bot is now more resistant to connection failures. Things are less likely to break if the bot goes down for any length of time.
2. A number of back-end tools have been added to speed up troubleshooting.

Usage
78 servers
2800 unique accounts
4000 non-unique accounts (combined server size including cross-membership)
6150 all-time unique accounts
4230 verified nations
0 security incidents

As always, if you have any questions about how to use the bot or what it can do for you, these are the best options:
-The >help command
-Joining the support server
-Sending me a Discord DM
-Posting in this thread

Enjoy the new features and fixes!
|| AA Founder - Retired.

My Projects: AugustinAndroid (Server) | Augustin Alliance (Server) | NS Leaders (Server) | Tech suggestions | About me
I heard it was you / talkin' 'bout a world where all is free / it just couldn't be / and only a fool would say that...

User avatar
August
Spokesperson
 
Posts: 134
Founded: Oct 07, 2011
Anarchy

Postby August » Thu Feb 13, 2020 4:05 pm

New feature: total server backups! What does this mean? If your server admin or some lesser bot goes rogue and erases literally everything, hope is not lost. One simple command can restore everything except messages: your icon and other settings, channels and overwrites, roles and permissions, nicknames, bans, emojis, and even the bot's configuration for the server. The feature even works if the bot has been kicked from the server (as long as you bring it back). It is impossible to perfectly reproduce deleted messages and invites, unfortunately, but even lost messages can be found with >retrieve_channel_logs. Everything else comes back effortlessly. It is 2020, and server destruction is officially a thing of the past! See the Server Owners submenu of >help for details.
|| AA Founder - Retired.

My Projects: AugustinAndroid (Server) | Augustin Alliance (Server) | NS Leaders (Server) | Tech suggestions | About me
I heard it was you / talkin' 'bout a world where all is free / it just couldn't be / and only a fool would say that...


Advertisement

Remove ads

Return to Technical

Who is online

Users browsing this forum: Chap Ven

Advertisement

Remove ads