Welcome

Congratulations on using Glyph!

You have chosen to use an experimental Discord bot that uses natural language instead of traditional commands. Glyph has fun features like memes and a starboard, but also some moderation capabilities. Built using DialogFlow and Kotlin, he is constantly learning and new features are being added.

Please join our official server to keep up on the latest updates and to suggest new features.

Glyph is licensed under the GNU Affero General Public License. The latest source code can be found here.

The Basics

How to Add Glyph

To add Glyph to your server, use this invite link.

How to Use Glyph

  • In a server, start a message with an @mention for Glyph and then type your message.
  • In a Private Message, just type your message.

See Skills for a complete guide on everything Glyph can do and what to say.

How to Configure Glyph

See Configuration.

Skills

Here is the current list of everything Glyph can do and how to ask him to do it.

If you have a feature you’d like to have added, suggest it in the official server or use Feedback.

Wiki

Glyph can search a specified Wikia wiki or Wikipedia when asked what something is. This is set in the configuration. By default this is set to Wikipedia and can only be changed in servers that have a properly set up Configuration. Private messages will always use Wikipedia.

Example phrases:

  • Who is Garrus Vakarian according to masseffect wiki?
  • What are trilobites?
  • Who is Bill Nye?

Moderation

How about you get some help moderating your server?

Kick

Kick members with ease on mobile and on desktop!

Example phrases:

  • kick @SomeUser#0001 for stealing a sweet roll
  • kick @SomeUser#0001 @SomeUser#0001
  • kick @SomeUser#0001

Note

Only people with the permission Kick Members can ask Glyph to kick members. A few additional checks are also made to ensure people can not kick members of the same role or higher, or themselves.

Ban

Ban members with ease on mobile and on desktop!

Example phrases:

  • ban @SomeUser#0001 for being annoying
  • ban @SomeUser#0001 @SomeUser#0002
  • ban @SomeUser#0001

Note

Only people with the permission Ban Members can ask Glyph to ban members. A few additional checks are also made to ensure people can not ban members of the same role or higher, or themselves.

Purge

Mass remove messages within a certain time frame ago. Simply specify how far back you want to delete in days, hours, and or minute. You can also provide an optional reason as shown below.

Example phrases:

  • purge 14 days
  • purge 5 min
  • purge 3h for spam

Note

Only people with the permission Manage Messages can ask Glyph to purge messages.

User Info

Ever wanted to know more info about a user, or want to brag about how old your account is?

Example phrases:

  • user info @SomeUser#0001
  • user info
  • user info for @SomeUser#0001

Server Info

Glyph can create a nice little embed with all the info about a server, or you can ask for a specific piece of information. Some specific pieces of information you can ask for are the server’s name, owner, id, region, total members, and more.

Example phrases:

  • who is the owner of this server?
  • server info
  • how old is this server?

Role

Glyph can assign roles as set in the Configuration, typically for cosmetic/vanity/roleplay purposes, when asked by a user.

Set

To give someone a role from the list of available roles.

Example phrases:

  • make me Geth.
  • set me as Turian.
  • set @SomeUser#0001 as notify.

Note

Only people with the permission Manage Roles can ask Glyph to assign other peoples’ roles. Additional, they can violate a limit that is greater than 1 when giving people extra roles.

Unset

To remove a role from the list of available roles from someone.

Example phrases:

  • remove me from Geth.
  • remove Turian from me
  • remove @SomeUser#0001 from notify.

Note

Only people with the permission Manage Roles can ask Glyph to remove other peoples’ roles.

List

To list the available roles.

Example phrases:

  • roles list
  • list roles

Images

Glyph can pull images from Reddit when asked. As of right now, these can either be memes, cats, snakes, birds, dogs and lizards.

Example phrases:

  • image from coaxedintoasnafu
  • image from youdontsurf
  • meme

QuickView

Glyph can post helpful embeds that include additional information for links from Fur Affinity and Picarto. This feature can be controlled in the Configuration.

Fur Affinity

Gives some quick info about Fur Affinity submissions such as the category, the species, the gender, the number of favorites, comments, and views, and the keywords.

Picarto

Gives some quick info about Picarto streams such as the online status, the category, the number of viewers and followers, and the tags.

Starboard

Glyph can send messages that are reacted upon with a chosen emoji (:star: by default) to another channel, kind of like pinning, but for everyone and with no limit! This feature must be configured in the Configuration first before it can be used.

Status

Glyph can show his current ping and total number of servers he’s in when asked.

Example phrases:

  • ping
  • pong
  • status

Time

Glyph can show you the time when provided with any time zone in the tz database. The detection is not always accurate and will fallback to UTC.

Example phrases:

  • time
  • time Hong Kong
  • EST time

Ephemeral Say

Ever wanted to say something, but only for a brief amount of time (kinda like a popular messaging app), and are too lazy to delete it yourself? You can ask Glyph to say something on your behalf, and then Glyph will delete it after a short amount of time (30 seconds max).

Example phrases:

  • say “something embarrassing” for 10 seconds
  • say “nobody will notice this” for 5 seconds
  • say “that’s rather odd” for 20 seconds

Help

Glyph can provide some quick help information when asked.

Example phrases:

  • help
  • help me
  • What can you do?

Feedback

Having an issue with a skill, or have a suggestion for how to improve the Glyph? Send some feedback!

Example phrases:

  • send feedback “This feature needs some work”
  • send feedback “I love Glyph, but…”
  • send feedback “Something that is useful sounding.”

Note

All feedback is sent anonymously via a webhook to a Discord channel meant for collecting feedback. We will not be able to reply to you. If you need a reply, join the official server.

Canned Responses

Sometimes if a message does not fall under a specific skill, Glyph will try to reply appropriately.

Others

There are a few other tiny fun/easter egg skills that are so small they don’t deserve a whole section detailing them. Some hints are to what they are are NumberWang, Dad jokes, jokes, the Doomsday Clock, snowstamp, magic 8-ball and a few others.

Configuration

Glyph makes it easy to set a custom configuration on your server.

Setting a configuration

  1. Say to Glyph “edit config”
  2. Open the given link
  3. Edit the configuration and click Save

Note

If the configuration has an error, Glyph will fallback to using the previous error-free configuration. Additionally, if Glyph is removed from the server, the server’s configuration will be deleted from the database.

Warning

Currently there’s a bug where the dropdowns only trigger if you click the label.

Data Collection

We understand that when you use a bot, there’s a certain level of privacy you expect. That is why we provide this information below, to clear up any concerns.

Data We Collect

session ids

What:An MD5 hash of your user ID and the channel ID
When:Glyph is explicitly mentioned via DM or @mention
Where:DialogFlow requests and message logs
Why:Used with DialogFlow to ensure any follow up intents are personalized to you

messages

What:A copy of your message contents, your session ID and what skill Glyph interpreted it to be
When:Glyph is explicitly mentioned via DM or @mention, only
Where:Temporary log on Heroku, logs generally disappear within 24 hours
Why:To make sure Glyph is responding appropriately or see what messages caused an error

configurations

What:The server ID and the configuration settings
When:A custom configuration is set by a server admin (deleted when Glyph is removed from the server)
Where:A PostgreSQl database managed by Heroku
Why:To access and store a server’s unique configuration

server info

What:The server name, ID, member count (humans and bots)
When:Glyph is added or removed from a server
Where:A private Discord channel (sent via webhooks)
Why:To see what servers Glyph has been added and removed from and see which servers are considered bot farms

username history

What:The old and new usernames of users
When:A user changes their username
Where:The auditing channel of any server that has Glyph configured to track username changes
Why:So server admins can remember who people are even if they change their name

Data We Don’t Collect

Obviously anything we don’t collect is not listed above but here’s a list of common things we don’t collect.

  • Deleted messages
  • Message edits
  • The username, ID, or discriminator of who sent feedback
  • Audit logs (once they are sent, they are forgotten)
  • Ban reasons
  • Kick reasons

Indices and tables