HomingPigeon/lib/discordinfo.ex

30 lines
684 B
Elixir
Executable File

defmodule Discordirc.DiscordInfo do
@moduledoc """
helper functions for discord text things
"""
alias Nostrum.Api
def get_nick_by_id(guild_id, id) do
{:ok, user} = Api.get_user(id)
{:ok, member} = Api.get_guild_member(guild_id, id)
member.nick
end
def get_username_by_id(id) do
{:ok, %{username: u, discriminator: d}} = Api.get_user(id)
"#{u}##{d}"
end
def get_channel_name_by_id(id) do
{:ok, %{name: c}} = Api.get_channel(id)
c
end
def get_role_name_by_id(guild_id, id) do
{:ok, roles} = Api.get_guild_roles(guild_id)
roles
|> Enum.filter(fn (%{id: i}) -> i == id end)
|> List.first
|> Map.get(:name)
end
end