Let me start by saying that this is not a guide to the AugustinAndroid v2 Discord bot. That is located elsewhere... in the dusty corners of my brain, because I have not written it yet. This is a guide to NSVerify (NSV), one of the most important and complex systems aboard the bot. What is NSV? In a nutshell, it is a server management system for NationStates communities of all kinds. Buckle up, because I am going to try and miserably fail at keeping this short.
This guide is split into three parts: Features (what NSV can do), Configuration (how to set it up), and FAQ (questions nobody has ever asked me, let alone frequently, but you might want to know the answers anyway).
What your users can do with NSV:
- Verify nations (duh). With the command >verify "nation name here" (no quotes), a user can register one of their NS nations in the bot's database. Once this is done, they never need to verify that nation again. Verification does not allow the bot (or anyone else) to gain information about or control of your nation--it simply ties a Discord account to a nation. Important: new members do not need to know about any commands. The bot automatically DMs them when they arrive.
- Set verified nations as public or private. Nations that a user has verified through a certain server are visible to other users in that server, but if that user wants to hide their NS identity from users on other servers, they can mark those nations private. Private nations can be set public with, you guessed it, >set_public.
- Drop nations from the database. If a user abandons a nation, hands it over to someone else, or simply gets tired of the way the moose is looking at them, they can >drop the nation and the bot will forget that it was ever verified.
- Find region-mates in a server. The command >users_from_region "region name here" (no quotes) will instantly list every member of the server who lives in that region.
- Find themselves, but not in the deep, metaphorical way. The command >profile displays publicly-available information about a user's Discord account, and their public list of nations.
What you, the admin, can do with NSV:
- Figure out who the heck your users are. Why does that one guy keep changing his username to edg̀e̸l͟o̢rd͞4̢2͠0? I do not know either, but at least now you can match it up to a nation name. Are users leaving your server, but all Dyno can tell you is that they were called <@93892893089872897>? Yeah, real helpful. NSV gives you usernames, nation names, and the middle name of their roommate's cat.
- Stop spambots in their tracks, with the Secure setting. Captchas ain't got nothin' on this. Your server could get bombarded with ten thousand spam accounts (or, you know, just one or two), and unless they were all controlled by humans with different NS nations, not a single one would make it through. With this setting enabled, unverified users can see a lobby channel and nothing else, until they verify. Your mods and fellow admins can also see that channel, but regular users cannot. That means it is very difficult for a spammer to steal your member list, and if the lobby gets spammed, nobody sees the mess.
- Clean out the unverified users on a regular basis, with the Auto-Purge setting. Every week, the bot can kick the unidentified, unresponsive folks. You know--the ones who come in with their default avatars, never say a word, and promptly fade into the background. Before kicking them, the bot sends them seven reminder DMs. That is once a day, for the mathematically-challenged. Important: unverified users who were already in your server before you enabled the setting get two months, not just a week.
- Prevent non-residents from entering your server, with the Resident Exclusive setting. Most servers do not need this, but the option is there for inter-regional alliances, closed-world roleplay regions, and private regions full of real-life friends. For added security, you can password your region, which effectively passwords your server too.
- Ban puppet accounts, with the Duplicate setting. The bot will not allow a user to verify a nation on your server if that nation has already been verified by another user on your server. This is more effective if you have the Secure setting enabled and/or players are not permitted to have multiple puppets within your region.
What NSV can do without being asked:
- Keep your server's roles up-to-date, all the time. The bot can monitor your members' verified nations and adjust their roles if they change regions, cease to exist, or join or resign from the WA. New members will receive the correct roles automatically. You can send your moderators on an all-expenses-paid trip to the Caribbean. Really, they deserve it if they were doing this sort of thing by hand.
- Grant immediate access to verified users who enter the server. Foreign ambassadors and old returning members can breeze right in with the correct roles, as long as they already have a nation in the database.
- Stop impersonation 100%, guaranteed. This is not a very common problem in most servers, but with NSV, is is not even possible. You can change your face, you can change your name, but you cannot make someone else's nation show up in your profile.
When AugustinAndroid v2 joins your server, it will automatically DM the server owner to start the initial setup process. If the server owner is not present and the process times out, they can restart it with the >setup command. This process explains each setting, one at a time, and lets the owner "teach" the bot how that particular server works. In most cases, the initial setup process takes no more than a couple minutes. Once the bot has been configured for the server, all settings can be changed by administrators with the command >settings.
The settings menu has four sub-menus, all of which pertain to NSV.
0. Enable/Disable Systems
Easy. Select this one, then (4) Enable Verification for all the other goodies. Use the <- arrow to return to the main menu.
By default, all systems are disabled, but the server owner may have enabled NSV in the initial setup process. Make sure you are not accidentally disabling it.
1. Automatic Roles
This sub-menu lets you set NSV and resident roles. If your server is based in the region Testregionia, and you give the role "Testregionians" to your residents, you should select (2) for Resident Roles, then set that region/role pair. The bot will make sure residents (and only residents) will have that role going forward.
Select (0) NSVerify Roles to choose which role is given to users in each category.
"Unverified member": all users with no verified nations. This role is named "NSV-Unverified" by default.
"Verified member": all users with at least one verified nation.
"Non-resident": all users with at least one verified non-resident nation (in servers with Secure enabled), OR all users without no verified or resident nations (in servers with Secure disabled).
"WA member resident": all users with a verified resident nation that is a WA member.
"Ceased to exist": all users with at least one verified nation, if none of their nations currently exist.
2. Special Channels
Set the (0) "Info" channel if you want the bot to ask new members to read it. The (1) "Lobby" channel is named #nsv_lobby by default, but you can set it to whatever channel you like. When you do this, the bot will change the channel's permissions so that only mods, admins, and unverified users can see it. This only works when Secure is enabled.
3. Other Settings
Under the NSVerify Settings header are a number of toggles.
"Toggle secure lobby": confine all users without verified nations, including any new unverified users that arrive, to a lobby channel. When this is enabled, the Unverified role will be denied the ability to see all channels except the lobby. Permissions for exempt members (set with >exempt) are untouched.
"Toggle resident-exclusive": remove all non-residents from the server. The server's region(s) are listed in Regional Roles (see above). Users without at least one verified nation in that region or group of regions will be kicked automatically at the next update (around 3:40 AM Eastern). New members unable to provide a resident nation will also be auto-kicked.
"Toggle auto-purge": remove unverified members from the server. Members who were in the server when this setting was last enabled have a two-month grace period before being kicked, and receive a reminder once a week via DM. Otherwise, they are given one week from arrival, and receive a reminder DM once a day. Exempt members are not kicked.
"Toggle watchlist alerts": choose whether the bot should alert you when a problem user enters your server. Problem users are those determined by a group of administrators to be serious threats to your community's safety. This is enabled by default, and for most people there is very little reason to disable it.
"Allow duplicate accounts": choose whether the bot permits multiple accounts on the server to share verified nations. When enabled, the bot will list any accounts that currently share a verified nation, and alert your moderators if anyone tries to verify an already-verified nation in the future.
I already have a Red bot with a nation command. Why do I even need this crap?
Why buy a car when you have a perfectly good skateboard with a really cool zig-zag pattern?
The two things are not really comparable. The skateboard might get you where you need to go, but the car will get you there a lot faster and more comfortably... especially if you need to take other people with you. The same applies here: everything NSV can do, you can do manually or with a little automated assistance, but NSV does that work for you. If your server has a lot of people, it would require a huge amount of time, patience, and God-tier awareness of NS world happenings to replicate its functions by hand.
There is no way new users will want to go through this process. Is it even possible for servers to grow while using NSV?
Valid question, and the answer is a resounding yes. NSV has been running on the Augustin Alliance server since June 2018, with the secure lobby and auto-purging enabled, and it has grown by 50% in the eight months since then. Well over a thousand users on a small number of servers have verified nations, and there has been nothing to suggest reluctance by new users to verify.
I told the moose that unverified users should not have access to my server, and now nobody can read any channels! Why does your bot suck so bad?
Chances are, most people in your server are not verified yet. Fortunately, verifying only takes about fifteen seconds! Once each user has done this, using the command >verify, their channel access will be restored. The inactive ones might not do it, but... if they were too inactive to notice, does it really matter? (It helps to ping everyone and inform them of the change before enabling NSV so your membership does not riot, but the bot can also send friendly auto-reminders to each unverified user.)
One of my members has tried 86 times, but cannot verify. Did you even test this thing before releasing it?
That does happen occasionally, but the bot's thousands of successfully-verified nations say the system works. If a verification fails, that means NationStates itself rejected the user's input. The bot is just the messenger. Please do not shoot the messenger.
If for some reason a member cannot verify--say, because they do not have a nation, you can >exempt them. Once that is done, the bot will leave their permissions alone no matter what. It is not possible to put a nation into the database manually (that would defeat the purpose of verifying), but exempting is a good backup solution.
What have you done to my roles? You ruined my server!
Mwa-ha-ha! That was my plan all along!
No, but really, your server is intact. Perhaps some of your members have not verified their resident nations yet, and got marked as non-residents. If something unexpected happened with your roles or permissions, check the bot's settings with >settings and make sure everything is set properly. If that does not work, hop into the support server and ask for help. Rest assured: there is no code in NSV that deletes roles or channels, period.
One of my server's members is marked as a resident even though he just moved his nation out. Were you lying when you said roles were always up-to-date?!
...Sort of. The bot runs an update every day at 3:40 AM Eastern. Roles will be adjusted then. Sorry, but there is no way for the bot to track every nation in real time without the Big Brother add-on package, now just $999.95.
Can I get NSV on another bot?
Nope. The name NSV refers specifically to the verification system present on AugustinAndroid. Other programs may use the NationStates Verification API, but anyone else who claims to have NSV is a dirty charlatan.
This is too good to be true. What is the catch? Does it come out in fifteen years or something? Do I have to give you a kidney?
Seriously, no catch, and it is ready right now. I had the idea to make NSV for my own organization ages ago, and I decided to open it up to everyone (for free) because I just like building stuff.
Created by August. Do not reproduce, in whole or in part, without explicit permission.