summaryrefslogtreecommitdiff
path: root/lib/irc/irc.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/irc/irc.ex')
-rw-r--r--lib/irc/irc.ex79
1 files changed, 0 insertions, 79 deletions
diff --git a/lib/irc/irc.ex b/lib/irc/irc.ex
deleted file mode 100644
index 71d6d93..0000000
--- a/lib/irc/irc.ex
+++ /dev/null
@@ -1,79 +0,0 @@
-defmodule IRC do
-
- defmodule Message do
- @derive {Poison.Encoder, except: [:replyfun]}
- defstruct [:id,
- :text,
- {:transport, :irc},
- :network,
- :account,
- :sender,
- :channel,
- :trigger,
- :replyfun,
- :at,
- {:meta, %{}}
- ]
- end
- defmodule Trigger do
- @derive Poison.Encoder
- defstruct [:type, :trigger, :args]
- end
-
- def send_message_as(account, network, channel, text, force_puppet \\ false) do
- connection = IRC.Connection.get_network(network)
- if connection && (force_puppet || IRC.PuppetConnection.whereis(account, connection)) do
- IRC.PuppetConnection.start_and_send_message(account, connection, channel, text)
- else
- user = IRC.UserTrack.find_by_account(network, account)
- nick = if(user, do: user.nick, else: account.name)
- IRC.Connection.broadcast_message(network, channel, "<#{nick}> #{text}")
- end
- end
-
- def register(key) do
- case Registry.register(IRC.PubSub, key, []) do
- {:ok, _} -> :ok
- error -> error
- end
- end
-
- def admin?(%Message{sender: sender}), do: admin?(sender)
-
- def admin?(%{nick: nick, user: user, host: host}) do
- for {n, u, h} <- Nola.IRC.env(:admins, []) do
- admin_part_match?(n, nick) && admin_part_match?(u, user) && admin_part_match?(h, host)
- end
- |> Enum.any?
- end
-
- defp admin_part_match?(:_, _), do: true
- defp admin_part_match?(a, a), do: true
- defp admin_part_match?(_, _), do: false
-
- @max_chars 440
-
- def splitlong(string, max_chars \\ 440)
-
- def splitlong(string, max_chars) when is_list(string) do
- Enum.map(string, fn(s) -> splitlong(s, max_chars) end)
- |> List.flatten()
- end
-
- def splitlong(string, max_chars) do
- string
- |> String.codepoints
- |> Enum.chunk_every(max_chars)
- |> Enum.map(&Enum.join/1)
- end
-
- def splitlong_with_prefix(string, prefix, max_chars \\ 440) do
- prefix = "#{prefix} "
- max_chars = max_chars - (length(String.codepoints(prefix)))
- string
- |> String.codepoints
- |> Enum.chunk_every(max_chars)
- |> Enum.map(fn(line) -> prefix <> Enum.join(line) end)
- end
-
-end