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.
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.
Configuration¶
Glyph makes it easy to set a custom configuration on your server.
Setting a configuration¶
- Say to Glyph “edit config” or go to configuration editor directly
- Edit the configuration
- Click Save
Note
If the configuration has an error, Glyph will fallback to using the previous error-free configuration.
Privacy Policy¶
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.
Opt-ins and opt-outs¶
Within the Discord client, Glyph provides tools to manage your data usage with the /compliance
command.
In order to use the natural language processing features of Glyph, you must explicitly opt-in to allow your message content to be sent to Dialogflow for processing. Read more below under message contents.
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 |
message contents¶
Dialogflow
What: | A copy of your message contents only |
---|---|
When: | Glyph is explicitly mentioned via DM or @mention, only |
Where: | Anonymously sent to Dialogflow for the sole purpose of understanding and responding to your request |
Why: | To understand the intent of your message and respond |
Heroku
What: | A copy of your message contents, your session ids (not username) and what skill Glyph interpreted it to be |
---|---|
When: | Glyph is explicitly mentioned via DM or @mention, only |
Where: | Application logs on Heroku |
Why: | To make sure Glyph is responding appropriately or see what messages caused an error |
compliance¶
What: | Your user id and opt-in/opt-out decision in a compliance category along with the time |
---|---|
When: | You click on “Opt in” or “Opt out” |
Where: | A PostgreSQl database managed by Heroku |
Why: | To respect message content data privacy decisions |
configurations¶
What: | The server id and the configuration settings |
---|---|
When: | A custom configuration is set by a server admin |
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) managed by Glyph’s owner |
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¶
Glyph intentionally does not provide options to “audit log” deleted and edited messages.
When you deleted a message, if Glyph interacted with it, we attempt to delete any responses it generated to it and any copy that may be in a starboard if it was starboarded.
All audit log messages sent by Glyph to a server’s logging channel are done via fire-and-forget webhooks. The contents of these messages is never stored elsewhere.
Questions?¶
If you have any questions or concerns about the usage and storage of your data please join the official server.