Wazebot: Difference between revisions Discussion View history

No edit summary
No edit summary
Line 77: Line 77:
Here's an example command:
Here's an example command:


<code>!autoreplies add guild testing This is a test.</code>
<code>!autoreplies add server testing This is a test.</code>
 
<code>!autoreplies remove global anothertest This is another test.</code>
 
=== Keyword Subscriptions ===
You can subscribe to keywords and the bot will message you whenever one is used in a channel that you're in. The commands are somewhat complicated because of the functionality available.
 
==== Notes ====
Keywords must be at least 3 characters long and are not case-sensitive.
 
==== Base command ====
The base command to use is <code>!keyword</code> or <code>!subscription</code>, or variants of these.
 
==== List keywords ====
Your existing keywords can be listed using <code>!keyword list</code>.
 
==== Add a keyword ====
To add a keyword, use <code>!keyword add keywordhere</code>. You can use multiple words, but note that you will only be messaged if the entire phrase you use is a match. To add multiple separate keywords, you need to use the command multiple times in individual messages.
 
==== Remove a keyword ====
Remove keywords using <code>!keyword remove keywordhere</code>. The keyword must exactly match one of your existing keywords or the command will fail.
 
==== Ignoring servers or channels ====
By default, the bot will message you if a keyword matches in any channel that you're in. You can ignore certain servers or channels with the command below. To find the server or channel ID, see the Getting IDs section below.
 
===== Ignore a server =====
To ignore a server: <code>!keyword ignore server serverid keywordhere</code>. For example, you could ignore the keyword "testing" in the national server by using <code>!keyword ignore server 300471946494214146 testing</code>.
 
===== Ignore a channel =====
Ignoring a channel uses the same syntax as ignoring a server, except the word "channel" is used instead of "server": <code>!keyword ignore channel channelid keywordhere</code>. For example, to ignore the keyword "testing" in the GLR channel on the national server, you would use <code>!keyword ignore channel 300568375900504074 testing</code>.
 
===== Unignore a server or channel =====
Unignoring a server or channel uses the same syntax as ignoring, but with the word "unignore" instead of "ignore". For example: <code>!keyword unignore server 300471946494214146 testing</code>.


== Getting IDs ==
== Getting IDs ==
Line 87: Line 119:


Alternatively, you can use the command <code>!whereami</code> and the bot will give you these IDs.
Alternatively, you can use the command <code>!whereami</code> and the bot will give you these IDs.
'''Note that the server and channel IDs may be the same!'''


== Technical ==
== Technical ==
The bot's identifier is WazeBot#1984, and its internal ID is 299667737368592385. It is written in C# and runs on .NET Core. Source code is available on [https://github.com/vaindil/wazebot-discord GitHub]. Core functionality is provided by [https://github.com/RogueException/Discord.Net Discord.Net]. Contact vaindil (vaindil#2314 on Discord) with any questions or issues.
The bot's identifier is WazeBot#1984, and its internal ID is 299667737368592385. It is written in C# and runs on .NET Core. Source code is available on [https://github.com/vaindil/wazebot-discord GitHub]. Core functionality is provided by [https://github.com/RogueException/Discord.Net Discord.Net]. Contact vaindil (vaindil#2314 on Discord) with any questions or issues.

Revision as of 18:30, 8 July 2017

Wazebot is an automated chat bot for use in the Waze Discord servers and Google Hangouts chats. This is not to be confused with "WazeBot" which is part of the "Feed the Waze" project.

This page discusses the details for the Discord version of the bot. For more details on the Google Hangouts bot, see the Wazebot external page.

Features

Role Syncing

Wazebot can sync your roles across the regional Discord servers. A limited number of roles are set by the bot for security reasons; others must be set manually and are not synced automatically. The table below gives the available roles and the permission required to set them. For example, the L6 role can only be given by champs, and only when the command is used in the national server.

Role Bot Command Role Required
Country Manager (CM) !cm @username CM or above
State Manager (SM) !sm @username SM or above
Large Area Manager (LAM) !lam @username SM or above
Area Manager (AM) !am @username SM or above
Mentor !mentor @username SM or above
Region-specific !region @username SM or above
Level 6 (L6) !l6 @username Champ in national server
Level 5 (L5) !l5 @username SM or above
Level 4 (L4) !l4 @username SM or above
Level 3 (L3) !l3 Anyone (role is assigned to command user)
Level 2 (L2) !l2 Anyone (role is assigned to command user)
Level 1 (L1) !l1 Anyone (role is assigned to command user)

Commands

Glossary

You can search for glossary terms with the command !glossary, using the format !glossary search term.

Lookup

Some channels may have a linked Google Spreadsheet. If your channel does, you can search it using !lookup. An example command is !lookup search term.

Autoreplies

An autoreply is a message that the bot will reply with automatically when a certain phrase is said in chat. Autoreplies can be created at the channel, server, or global levels. The syntax is by nature somewhat convoluted due to the features provided.

Channel and server autoreplies can be set by SM+, and global autoreplies can be set in the national server by champs.

Here's an example command:

!autoreplies add server testing This is a test.

!autoreplies remove global anothertest This is another test.

Keyword Subscriptions

You can subscribe to keywords and the bot will message you whenever one is used in a channel that you're in. The commands are somewhat complicated because of the functionality available.

Notes

Keywords must be at least 3 characters long and are not case-sensitive.

Base command

The base command to use is !keyword or !subscription, or variants of these.

List keywords

Your existing keywords can be listed using !keyword list.

Add a keyword

To add a keyword, use !keyword add keywordhere. You can use multiple words, but note that you will only be messaged if the entire phrase you use is a match. To add multiple separate keywords, you need to use the command multiple times in individual messages.

Remove a keyword

Remove keywords using !keyword remove keywordhere. The keyword must exactly match one of your existing keywords or the command will fail.

Ignoring servers or channels

By default, the bot will message you if a keyword matches in any channel that you're in. You can ignore certain servers or channels with the command below. To find the server or channel ID, see the Getting IDs section below.

Ignore a server

To ignore a server: !keyword ignore server serverid keywordhere. For example, you could ignore the keyword "testing" in the national server by using !keyword ignore server 300471946494214146 testing.

Ignore a channel

Ignoring a channel uses the same syntax as ignoring a server, except the word "channel" is used instead of "server": !keyword ignore channel channelid keywordhere. For example, to ignore the keyword "testing" in the GLR channel on the national server, you would use !keyword ignore channel 300568375900504074 testing.

Unignore a server or channel

Unignoring a server or channel uses the same syntax as ignoring, but with the word "unignore" instead of "ignore". For example: !keyword unignore server 300471946494214146 testing.

Getting IDs

Several bot commands use either channel or server IDs to identify those channels or servers. Getting these IDs is relatively straightforward. Navigate to the channel or server that you want the ID for, and look at the URL of the page. For example, the #michigan channel in the GLR server has this URL:

https://discordapp.com/channels/299563059695976451/299567520652853248

In all URLs, the first large number is the server ID and the second number is the channel ID. In this example, the server ID is 299563059695976451, and the channel ID is 299567520652853248.

Alternatively, you can use the command !whereami and the bot will give you these IDs.

Note that the server and channel IDs may be the same!

Technical

The bot's identifier is WazeBot#1984, and its internal ID is 299667737368592385. It is written in C# and runs on .NET Core. Source code is available on GitHub. Core functionality is provided by Discord.Net. Contact vaindil (vaindil#2314 on Discord) with any questions or issues.