begin refactor of "Info" modules into a single discordinfo module.

master
Rachel Fae Fox 2022-11-07 09:25:00 -05:00
parent d34a78cb99
commit f0929ea281
1 changed files with 29 additions and 0 deletions

29
lib/discordinfo.ex Executable file
View File

@ -0,0 +1,29 @@
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