Skip to content

Server owner guide

Ben Armstrong edited this page Feb 7, 2024 · 26 revisions

Here are some tips for Server owners not covered in the help:

Server prefix

SeedWasp, our beta bot, has this default prefix: w, Dronefly, our main bot, has this default prefix: ,

To change SeedWasp's server prefix to , like Dronefly, just use this command:

w,set serverprefix ,

Permissions

Grant Dronefly Manage Messages permissions to allow it to remove reactions when using the menu buttons and remove user responses to prompts by the bot, e.g. when using the 🏘️ or 👥 buttons to add a place or user by name.

Server-wide iNat settings

There are some server-wide settings that are turned off by default which you may wish to review & enable for your server.

See ,inat show help for the main settings.

Check ,inat show [setting] to check each setting.

Adding users

User managers can add users to the bot and remove them. Users that are registered can use the me or my keywords and the commands of the same name to access their own iNat data.

By default, only the bot owner and server owner are user managers. User managers may add new users to the bot via their iNat username, id, or link to their profile with the ,user add command and remove them with the ,user remove command.

For example, type the following to add the Discord user @SyntheticBee to the bot with the user profile https://www.inaturalist.org/people/benarmstrong

,user add @SyntheticBee https://www.inaturalist.org/people/benarmstrong

To change who can add users, use ,inat set manage_users_role to show the current setting, or supply the role name as the argument, or say none to clear it. For example, to grant this permission to server members with the role @Bot Helper, type the following:

,inat set manage_users_role "Bot Helper"

Other role settings

See ,inat set help for additional roles that can be set in the configuration for the server.

By default, place and project abbreviations can be added or removed by any user that has been added to the bot via ,place add, ,place remove, ,project add, and ,place remove commands. Use ,inat set manage_places_role and ,inat set manage_projects_role to view/change those default settings.

The beta_role is unused by any commands. Setting it currently has no effect.

The remaining roles, active_role and inactive_role, allow a server owner to filter the ,user list output if their server deploys such roles to mark a user as either an active or inactive (or not yet approved) member of the community. See ,help user list for details.

Preview observation links

Turn on automatic preview of observation links for the whole server with ,inat set autoobs server on.

Lookup taxa surrounded by dots

Turn on lookup of taxa surrounded by dots with ,inat set dot_taxon server on.

See ,describe dot_taxon for more information about the feature.

Global custom commands

Before adding your own copies of custom commands to your server (next section below), check with the bot owner if a global custom command could be added instead. Existing global custom commands that are automatically defined for all servers that invite Dronefly can be shown with ,cc global list. We would like to make the custom commands that are defined on iNaturalist Discord server available to everyone, and will happily add any that people use elsewhere upon request.

Please note that if you previously added custom commands on your own server, and we have subsequently made them available as custom commands, your old definition will still be in place and will be used instead of the global one. If we make improvements to the global version, you will not automatically benefit from those improvements.

To remove your own server-defined custom command, use ,cc remove. For example, if you ever defined your own birdcast command, that broke when we switched from customcom to tags, so we fixed it in the new global version. Remove the old definition with ,cc remove birdcast and the global version will be used instead.

Custom commands

Many users have submitted their requests for custom commands to be added for the iNaturalist Discord server. A custom command is something a server owner can add themselves, i.e. it doesn't require any programming to add. Most of these are shortcuts to various web searches, usually to find more about a taxon (e.g. xeno-canto for birdsongs, shown in the example that follows). These definitions only exist on the server where they are added, so if you want them on your server, you'll need to define them yourself. Update: it is now preferable to ask the bot owner to make the iNaturalist Discord custom command global (see previous section), so the following instructions are mostly useful for server owners who want to add completely new commands of their own, based on ones we've already made, or else run their own private Dronefly bot instance.

You need the tags cog from phen-cogs repository at https://github.com/phenom4n4n/phen-cogs to define and use these. Those who have invited SyntheticBee's Dronefly already have this cog loaded. See the author's documentation for Tags at https://phen-cogs.readthedocs.io/en/latest/

For a complete list of custom commands defined on the iNaturalist Discord, join the server and go to channel #bot-commands, then use ,cc list. Use ,cc raw to show the definition for each custom command, e.g. ,cc raw xc should show a display like:

https://www.xeno-canto.org/explore?query={args(1)}

Then define the same custom command on your server, e.g.

,cc add xc https://www.xeno-canto.org/explore?query={args(1)}

Repeat that for each listed custom command that you want to define on your own server.

Clone this wiki locally