alchemy v0.1.9 Alchemy.Webhook
Summary
Functions
Creates a new webhook in a channel
Deletes a webhook
Modifies the settings of a webhook
Returns a list of all webhooks in a channel.
Example
{:ok, [%Webhook{} | _]} = Task.await Webhook.in_channel("6666")
Returns a list of all webhooks in a guild.
Example
{:ok, [%Webhook{} | _]} = Task.await Webhook.in_guild("99999")
Sends a message to a webhook
Types
Functions
Specs
create(snowflake, String.t, [{:avatar, String.t}]) ::
{:ok, Alchemy.Webhook.t} |
{:error, term}
Creates a new webhook in a channel.
The name parameter is mandatory, and specifies the name of the webhook. of course.
Options
avatarA link to a 128x128 image to act as the avatar of the webhook.
Examples
{:ok, hook} = Task.await Webhook.create("66666", "The Devil")
Specs
delete(Alchemy.Webhook.t) ::
{:ok, Alchemy.Webhook.t} |
{:error, term}
Deletes a webhook.
All you need for this is the webhook itself.
Examples
{:ok, wh} = Task.await Webhook.create("666", "Captain Hook")
Webhook.delete(wh)
Specs
edit(Alchemy.Webhook.t, name: String.t, avatar: String.t) ::
{:ok, Alchemy.Webhook.t} |
{:error, term}
Modifies the settings of a webhook.
Note that the user field of the webhook will be missing.
Options
nameThe name of the webhook.avatarA link to a 128x128 icon image.
Examples
{:ok, hook} = Task.await Webhook.create("6666", "Captian Hook")
# Let's fix that typo:
Webhook.edit(hook, name: "Captain Hook")
Specs
in_channel(snowflake) ::
{:ok, [Alchemy.Webhook.t]} |
{:error, term}
Returns a list of all webhooks in a channel.
Example
{:ok, [%Webhook{} | _]} = Task.await Webhook.in_channel("6666")
Specs
in_guild(atom) ::
{:ok, [Alchemy.Webhook.t]} |
{:error, term}
Returns a list of all webhooks in a guild.
Example
{:ok, [%Webhook{} | _]} = Task.await Webhook.in_guild("99999")
Specs
send(Alchemy.Webhook.t, {:embed, Alchemy.Embed.t} | {:content, String.t}, avatar_url: String.t, username: String.t, tts: Boolean) ::
{:ok, nil} |
{:error, term}
Sends a message to a webhook.
type must be one of :embed, :content; :embed requiring an Embed.t
struct, and :content requiring a string.
Options
avatar_urlA link to an image to replace the one the hook has, for this message.usernameThe username to override to hook’s, for this message.ttsWhen set to true, will make the message TTS
Examples
{:ok, hook} = Task.await Webhook.create("66", "Captain Hook")
Webhook.send(hook, {content: "ARRRRRGH!"})
For a more elaborate example:
user = Cache.user()
embed = %Embed{}
|> description("I'm commandeering this vessel!!!")
|> color(0x3a83b8)
Webhook.send(hook, {:embed, embed},
avatar_url: User.avatar_url(user),
username: user.username)