Alchemy.Webhook (alchemy v0.6.8)
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
nameThe name of the webhook.avatarA 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_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 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)