Skip to content
This repository was archived by the owner on Jul 10, 2018. It is now read-only.
Alecadabra edited this page Jun 8, 2017 · 21 revisions

PLEASE NOTE THAT ALL PARAMETER PREFIXES HAVE BEEN CHANGED FROM "-" TO "--"! E.G.: "--pmid".


Overview

Welcome to the say command documentation. Please note that this command is still under heavy development and there will be a lot more parameters coming soon.

Here is a list of content.

Basic Usage

A very basic say command would be: copycat say hello. This would return the following:

Image

Parameters

However, that's not it. Copycat can do much more than just to say a message. Parameters are tools to add functionality to the command, and are removed in the actual command message. Here is a list of available parameters:

Parameter Permission Description
--d None Deletes the command message.
--s None Executes the message silently.
--r None Chooses a random message.
--pm Mention Everyone Private messages mention(s).
--pmid Mention Everyone Private messages a user using an ID.
--pme Mention Everyone Private messages every user of the server.
--c Write in channel Messages mentioned channel(s).
--cid Write in channel Messages channel using an ID.
--t None Adds a delay to message.

--d

This parameter deletes the original command message.

For example, doing copycat say --d hello would show:

Image

(Notice how there is no message shown to execute the command)

--s

This parameter executes a command silently, meaning it will not be followed by the "I have sent the message." message that would usually follow an executed say command.

Please note that the message sent message has a reason, it only gets sent once the message has been sent to all channels and/or users successfully. This is great for knowing when that mass message affecting 50 users sent to all of them. If you use this parameter, you can still check the sending status with the copycat queue command.

For example, doing copycat say --s hello would show:

Image

--r

This parameter allows randomized replies. It will choose between strings separated in the message itself, using ;. You can choose as many random replies as you want to, even just one string works.

For example, doing copycat say --r 1;2;3;4;5;6 could show:

Image

Relevant XKCD

--pm

This parameter sends the message as a private message to the specified user. You may specify multiple users. The mention can be anywhere in the command.

For example, doing copycat say --pm @Alecadabra hello would show:

Image

And in the private message:

Image

Note that Copycat also sends a footer message at the end of the PM. You can read more about footers and how to use them here.

--pmid

This parameter is identical to --pm, except for the fact it requires a user ID and not a mention. Please note, the ID is required to be after the --pmid parameter, like: --pmid <id goes here>.

For example, doing copycat say --pmid 175851085456474113 hello would show:

Image

And in the private message:

Image

--pme

This parameter is dangerous. It sends a private message to every user in the server.

For example, doing copycat say --pme hello would, well, PM every user with "hello".

Sorry, i'm not going to provide a screenshot example for this one :P

--c

This parameter sends the message to the specified channel. You may specify multiple channels. The #channel can be anywhere in the command.

For example, doing copycat say --c #bot_spam Peekaboo! would show:

Image

And in #bot_spam:

Image

--cid

This parameter is identical to --c, except for the fact that it requires a channel ID instead of a mention. Please note, the ID is required to be after the --cid parameter, like: --cid <id goes here>.

For example, doing copycat say --cid 282155771506982912 Peekaboo Again! would show:

Image

And in the specified channel:

Image

--t

This parameter creates a delay before copycat sends the message. The delay is in seconds.

For example, doing copycat say --t 12 hello would show:

Example

Combining Parameters

For channel and/or PM parameters, Copycat will create a list of channels and users to message for --c/--cid and --pm/--pmid respectively. It will then send the message to the entries of both lists. If you have not specified any channels or users, as in, both lists are empty, it will send the message to the current channel.

For Example, copycat say --c #chat #bot_spam --pm @Arraying @Alecadabra Hello would send "Hello" in #chat, #bot_spam, and would also PM this to Arraying and Alecadabra.

Placeholders

There are a number of placeholders that can be used within the say command. These replace the {placeholder} with the specified value.

Placeholder Value
{user} A user mention of the user.
{userid} The ID of the user.
{username} The username of the user.
{userdiscriminator} The discriminator of the user.
{guildcount} The total member count of the guild.
{guildid} The ID of the guild.
{guildname} The name of the guild.
{date} The current time and date.

For example, copycat say Hi, {username}. Welcome to {guildname}. Would produce (in my case): "Hi, Alecadabra. Welcome to Arraying's Bots."

Clone this wiki locally