Alchemy.Webhook (alchemy v0.7.0)
Link to this section 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.
Returns a list of all webhooks in a guild.
Sends a message to a webhook.
Link to this section Types
Link to this type
snowflake()
Specs
snowflake() :: String.t()
Specs
Link to this section Functions
Link to this function
create(channel_id, name, options \\ [])
Specs
Creates a new webhook in a channel.
The name parameter is mandatory, and specifies the name of the webhook. of course.
Options
Link to this function
delete(webhook)
Specs
Deletes a webhook.
All you need for this is the webhook itself.
Examples
{:ok, wh} = Webhook.create("666", "Captain Hook")
Webhook.delete(wh)
Link to this function
edit(webhook, options)
Specs
Modifies the settings of a webhook.
Note that the user field of the webhook will be missing.
Options
name
The name of the webhook.avatar
A link to a 128x128 icon image.
Examples
{:ok, hook} = Webhook.create("6666", "Captian Hook")
# Let's fix that typo:
Webhook.edit(hook, name: "Captain Hook")
Link to this function
in_channel(channel_id)
Specs
Returns a list of all webhooks in a channel.
Examples
{:ok, [%Webhook{} | _]} = Webhook.in_channel("6666")
Link to this function
in_guild(guild_id)
Specs
Returns a list of all webhooks in a guild.
Examples
{:ok, [%Webhook{} | _]} = Webhook.in_guild("99999")
Link to this function
send(webhook, arg, options \\ [])
Specs
send(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_url
A link to an image to replace the one the hook has, for this message.username
The username to override to hook's, for this message.tts
When set to true, will make the message TTSExamples
For a more elaborate example:{:ok, hook} = Webhook.create("66", "Captain Hook") Webhook.send(hook, {content: "ARRRRRGH!"})
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)