30 lines
684 B
Elixir
Executable File
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
|