-module(discord_gleam). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([bot/1, run/2, send_message/4, kick_member/4, ban_member/4]). -spec bot(binary()) -> discord_gleam@types@bot:bot(). bot(Token) -> {bot, Token}. -spec run( discord_gleam@types@bot:bot(), list(fun((discord_gleam@types@bot:bot(), discord_gleam@event_handler:packet()) -> nil)) ) -> nil. run(Bot, Event_handlers) -> discord_gleam@ws@event_loop:main(Bot, Event_handlers). -spec send_message( discord_gleam@types@bot:bot(), binary(), binary(), list(discord_gleam@types@message:embed()) ) -> nil. send_message(Bot, Channel_id, Message, Embeds) -> Msg = {message, Message, Embeds}, discord_gleam@http@endpoints:send_message( erlang:element(2, Bot), Channel_id, Msg ). -spec kick_member(discord_gleam@types@bot:bot(), binary(), binary(), binary()) -> {binary(), binary()}. kick_member(Bot, Guild_id, User_id, Reason) -> discord_gleam@http@endpoints:kick_member( erlang:element(2, Bot), Guild_id, User_id, Reason ). -spec ban_member(discord_gleam@types@bot:bot(), binary(), binary(), binary()) -> {binary(), binary()}. ban_member(Bot, Guild_id, User_id, Reason) -> discord_gleam@http@endpoints:ban_member( erlang:element(2, Bot), Guild_id, User_id, Reason ).