A guide to the features of SotAbot

Discussion in 'Player Created Resources' started by Ravalox, May 22, 2017.

Thread Status:
Not open for further replies.
  1. Ravalox

    Ravalox Dev At Large Moderator SOTA Developer

    Messages:
    1,089
    Likes Received:
    2,280
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Austin, TX
    SotAbot is an informational robot running on the SotA Discord server. This thread will detail most of the Bot features available to the players. Development on SotaBot is ongoing so I will be updating this thread as new items are added.

    What is Discord? - Discord is a chat server with voice capability (like merging Teamspeak with IRC). The SotA community uses Discord to ask questions, keep in touch and participate together during in-game events.

    Please do not reply to this thread. Please leave comments or questions here.
     
    Last edited: Oct 5, 2017
  2. Ravalox

    Ravalox Dev At Large Moderator SOTA Developer

    Messages:
    1,089
    Likes Received:
    2,280
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Austin, TX
    SotAbot
    User’s Guide

    SotAbot is a Shroud of the Avatar focused Discord Bot written in Python and is currently making use of the Red Discord Bot framework. SotAbot enhances the Shroud of the Avatar Discord server by providing commands that identify players available to assist other players, determine when the next Portalarium listed event or major patch will be as well as many other features, including some fun stuff.

    This document will detail most of the commands available to Discord users; additional commands for administration are documented in the administrator’s guide and even more commands are to be ... discovered.


    Contents

    (Click on the topic to jump to that section)


    SotAbot Operation:

    Features:

    For Fun:

    Utility:

    Appendix:
    Link to the SotAbot Plan of Record (PoR) Document --> here.​
     
    Last edited: May 22, 2017
  3. Ravalox

    Ravalox Dev At Large Moderator SOTA Developer

    Messages:
    1,089
    Likes Received:
    2,280
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Austin, TX
    SotAbot Operation

    How to access:

    SotAbot is a IRC style “Robot” or “Bot” that monitors the Shroud of the Avatar Discord community chat server. The SotA discord server has over 3,500 members who share their insight into the game and join together for social events, such as the Postmortems and quarterly telethons.

    Discord can be accessed through a web browser or through a downloadable client. To join the SotA Discord server, click here: https://discord.gg/EBjZfc9

    SotAbot is always running and listening for your requests on the SotA Discord server. The Bot watches for an attention signal followed by a command. The attention signal is an exclamation point … ! ... So if you wanted to find out what commands you can use, you would type !help in any channel. The help menu output will be sent to you in a Direct Message.

    When in a direct conversation with SotAbot, you can issue many of the Bot commands there so you won’t bother anyone else while experimenting or if using the Bot repeatedly in a short time. Some of the commands must be issued on the SotA server and others even require the commands to be sent from a specific channel.

    Etiquette:

    Please remember that when you interact with SotAbot in a Discord channel the request and the results are sent to everyone. The bot itself does not send any output without a request from someone on the SotA Discord server. Using SotAbot is perfectly ok, but when lots of commands or repeated commands are sent this could be considered SPAM, so please keep this in mind.

    Use of SotAbot commands during events like a Postmortem or a Telethon should be kept to a minimum since Portalarium staff will periodically ask those in the channel to type questions or prompt them for prizes. Excessive use of the bot during these events will only put stress on staff who are trying to run or help with the event.

    Administration:

    SotAbot functionality is developed by @Ravalox and members of the community for the community (use the !credits command to see current and past contributors). The Bot is hosted on a Raspberry Pi 3B and is coded using Python3. Please contact @Ravalox with any hugs, bugs or other input.

    [​IMG]
     
    Last edited: Oct 5, 2017
  4. Ravalox

    Ravalox Dev At Large Moderator SOTA Developer

    Messages:
    1,089
    Likes Received:
    2,280
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Austin, TX
    Features

    Time: !time

    Afraid of missing the Oracle “test” gold and XP reward for the day and not sure what time it is at the server? Just use the !time command. The bot will respond with the current Time at the SotA server (US Central Time)

    Pro Tip: The Oracle keeps a ledger of who takes the test and changes to a blank page at 7pm CT each day. ;-)


    Hospitaller Functions: !signon, !signoff

    One of the Shroud of the Avatar community initiatives supported by Lord British and Portalarium is the ability to identify yourself as willing to assist those with questions in game or on the SotA Discord server. Hospitallers are identified by the purple/pink Hospitaller title in game and on the SotA Discord server. This ability is available to everyone!

    To identify yourself as a Hospitaller in game, just open the “Title” menu and select Hospitaller. Don’t forget to make sure your game client is configured to display your title in the settings menu.

    When in Discord, SotAbot will assist you in transforming yourself into a Hospitaller, first select the “hospitallers” chat channel, then send SotAbot the !signon command to login. SotAbot will respond telling you that you have successfully logged in.

    If/when you want to stop being flagged as a Hospitaller, just select the “hospitallers” channel and send the !signoff command. Once again, SotAbot will advise if your command was successful.

    Pro Tip: You can use other variants of the !signon/!signout commands like !login and !logout (use the !help signon command to see all the choices available)

    [​IMG]
     
    Last edited: Oct 5, 2017
    Headache and Browncoat Jayson like this.
  5. Ravalox

    Ravalox Dev At Large Moderator SOTA Developer

    Messages:
    1,089
    Likes Received:
    2,280
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Austin, TX
    Next Hangout: !hangout

    When’s the next Postmortem; or even better when is the next Telethon? To find out you can either go to the main SotA website and select “Upcoming Events” from the Community menu or just ask SotAbot. By sending !hangout to SotAbot will return the next event in the calendar.

    If you want to see the next hangout of a specific type, then use one of these optional arguments:

    !hangout postmortem - Shows the next postmortem live stream event date and time.
    !hangout telethon - Shows the next telethon event date and time.
    !hangout inperson - Shows the next “In Real Life” event that includes Portalarium staff.

    Adding “all” to any command will return a list of all that type of event on the calendar.

    For example: !hangout all or !hangout inperson all

    Note: weekly Hangout events like the Friday community hour are not covered by this calendar.


    Next release: !r, !release

    Portalarium updates the live game server with major patches regularly, usually on the last Thursday of each month

    SotAbot keeps track of when these updates are scheduled to occur, and when they have occurred ever since the beginning (it’s got a long memory :D).

    To see when a release is due to go live, just use the !r command, a space and the release number desired. For example: !r 42

    ... or:

    If you don't know what the current release is, just type !r for the next release:
    [​IMG]


    Once a release goes live, a link to the release instruction and/or patch notes is added to the entry.

    [​IMG]
     
    Last edited: Oct 6, 2017
    Headache and Browncoat Jayson like this.
  6. Ravalox

    Ravalox Dev At Large Moderator SOTA Developer

    Messages:
    1,089
    Likes Received:
    2,280
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Austin, TX
    Stream Pop Notifications:

    This feature allows players to register their Twitch, Beam or Hitbox channels on the Shroud of the Avatar Discord server. When a registered player is streaming, SotAbot will create a “Stream Pop” in the player-streams channel with a link to the streamer’s channel and a screen cap:

    [​IMG]

    The Bot will also post a notice in channel when the stream ends:

    [​IMG]


    Currently, SotAbot’s Stream Pop facility is not very feature rich, and only handles the registration and Stream Pop functions. The feature is being re-written to include a much more granular feature set, including the ability to list and subscribe to an individual stream allowing for a (mention) notification via Direct Message. The Registered streamer will be able to manage their channel’s Stream Pop notification feature status. This manual will be updated when the new version is ready.

    Though the feature should support Beam and Hitbox, we do not have information as how/if any configuration on the service side would need to be done. If *you* use one of these services, please contact @Ravalox to assist us in documenting their setup.



    The Stream Pops make use of Images and Website previews when Stream Pops are posted in channel. It is recommended to enable both [When posted as links to chat] and [Show Website preview info from links pasted into chat]

    [​IMG]

    If you are running on a low bandwidth link, then you can disable [When posted as links to chat] and still see the header information for the stream:

    [​IMG]

    Otherwise if both are disabled, you will only see a single text line notifying when each channel is online or offline.


    I’m a streamer! How do I set this up?


    When a stream channel goes live the service (such as Twitch) will send a push notification to the Discord API when properly configured. This plus registering with SotAbot is what creates the Stream Pop showing that your channel is online or offline when your channel’s status changes.

    SotAbot Stream Pop setup for Twitch

    To use this feature, you must first setup your Twitch account to send API information to Discord and SotAbot:
    1. Login to your twitch.tv account
    2. Go to https://dev.twitch.tv/
    3. Click on "Register an App" under the “My Applications” gear icon
      [​IMG]

    4. Click “Register your Application” - You may get a popup asking for permission to make changes.
      [​IMG]

    5. IF a localhost entry already exists (as pictured below) then you do not need to continue with these steps, you are already configured! Otherwise click "Register Your Application" to proceed.
      [​IMG]

    6. Fill in the form:
      [​IMG]
      1. Application Name (Use your channel name or something similar)
      2. URL: http://localhost
      3. Category: “Chat Bot”
    7. Notify @Ravalox via Discord DM or Forum PM with a link to your Twitch channel to get your stream added to the player-streams channel notification list.​


    Additional streaming guidelines:

    • If you have discord open while you stream, even if you don’t expect to show it on camera, use Discord’s Streamers mode. This protects your personal account info.
    [​IMG]
    • Connect Discord and Twitch - If you run a Discord server, a new role will appear for your Twitch subscribers. You can customize the role or manually place folks in or out of the role as well.
    You can give your subs a Resub Grace Period, by going into Server Settings > Twitch Integrations. While it's set to 1 day by default, you can give your subs a little bit of leeway and extend the grace period for them to renew their subscription​
    • Stream start Delay - Twitch takes about 2 minutes to notify Discord (this is to make sure you aren’t just testing, or spamming online/offline messages). So when you start your stream please allow at least 3 minutes before starting your content to allow everyone to join your channel.
     
    Last edited: Oct 5, 2017
    Headache and Browncoat Jayson like this.
  7. Ravalox

    Ravalox Dev At Large Moderator SOTA Developer

    Messages:
    1,089
    Likes Received:
    2,280
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Austin, TX
    Just For Fun

    Coin Flip: !flip

    Sending the !flip command to SotAbot will flip a coin; useful when starting a Gust Ball game or choosing which player gets to yell “Leeroy Jenkins!” during a raid.

    Adding the name of someone in the discord server will results in a very different outcome!



    RPG Dice Bot: !roll

    If flipping a coin doesn’t provide enough choices, then why not roll a die? The !roll command can roll multi-sided dice and uses the standard RPG methods.

    [​IMG]
    So to roll three, six sided dice; enter !roll 3d6. The dice bot will respond with the value for each die and the total.



    Shoot Someone: !shoot

    Sometimes Merrik Dragon is just asking for it on Discord. What better way to get him under control than to !shoot him? Use the !shoot command followed by a Discord users name to try to shoot them.

    Watch out! after all you are using a revolver, and have limited ammo. If you run out of ammo, you will have to wait until midnight NBT for your weapon to automatically reload.
    [​IMG]
    Wonder what happens if you just !shoot with no target? Hmm. Maybe a safety class (or therapy) is in order.
     
    Last edited: Oct 5, 2017
    Headache and Browncoat Jayson like this.
  8. Ravalox

    Ravalox Dev At Large Moderator SOTA Developer

    Messages:
    1,089
    Likes Received:
    2,280
    Trophy Points:
    125
    Gender:
    Male
    Location:
    Austin, TX
    Utilities

    Contact: !contact

    Use the !contact command to notify SotAbot’s admin of issues, or to just leave comments.


    Credits: !credits

    Though everyone who assists with SotAbot donates their time and code without any specific need for recognition, using the !credits command will display the names of those currently working on the project and recognizing past contributors for their specific input.


    Help: !help

    The !help command will send a menu of available commands via Direct Message. Help for a specific command can be displayed by adding the command as an argument: !help time
     
    Last edited: Oct 5, 2017
Thread Status:
Not open for further replies.