diff options
author | Jordan Bracco <href@random.sh> | 2022-12-20 02:13:47 +0000 |
---|---|---|
committer | Jordan Bracco <href@random.sh> | 2022-12-20 19:29:41 +0100 |
commit | 70b9bba56f5319361ce5a7df5c489b9c0d6905ce (patch) | |
tree | f9b4438965f4c5e3e1f3a6129904cbb9a37047f2 /lib/nola_plugins/say_plugin.ex | |
parent | Update repo URL, refs T77. (diff) |
Rename to Nola
Summary:
Nola rename cont. pt. 2. Refs T77.
`find lib -name "*.ex" -type f | xargs sed -i '' 's/LSG/Nola/g'`
Nola rename, cont. pt. 3. Refs T77.
`s/:lsg/:nola/g`
Nola rename, cont. pt. 4. Refs T77.
Nola rename, cont. pt. 5. Refs T77. Configs.
find config -type f | xargs sed -i '' 's/LSG/Nola/g'
find config -type f | xargs sed -i '' 's/lsg/nola/g'
BREAKING CHANGE: Config keys switch from `:lsg` to `:nola`
Nola rename, the end. pt 6. Refs T77.
Nola rename: The Big Move, Refs T77
Update repo URL, refs T77.
Nola rename: Nola.Plugins, refs T77
Maniphest Tasks: T77
Differential Revision: https://phab.random.sh/D3
Diffstat (limited to 'lib/nola_plugins/say_plugin.ex')
-rw-r--r-- | lib/nola_plugins/say_plugin.ex | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/lib/nola_plugins/say_plugin.ex b/lib/nola_plugins/say_plugin.ex deleted file mode 100644 index 915b0f6..0000000 --- a/lib/nola_plugins/say_plugin.ex +++ /dev/null @@ -1,73 +0,0 @@ -defmodule Nola.IRC.SayPlugin do - - def irc_doc do - """ - # say - - Say something... - - * **!say `<channel>` `<text>`** say something on `channel` - * **!asay `<channel>` `<text>`** same but anonymously - - You must be a member of the channel. - """ - end - - def start_link() do - GenServer.start_link(__MODULE__, [], name: __MODULE__) - end - - def init([]) do - regopts = [type: __MODULE__] - {:ok, _} = Registry.register(IRC.PubSub, "trigger:say", regopts) - {:ok, _} = Registry.register(IRC.PubSub, "trigger:asay", regopts) - {:ok, _} = Registry.register(IRC.PubSub, "messages:private", regopts) - {:ok, nil} - end - - def handle_info({:irc, :trigger, "say", m = %{trigger: %{type: :bang, args: [target | text]}}}, state) do - text = Enum.join(text, " ") - say_for(m.account, target, text, true) - {:noreply, state} - end - - def handle_info({:irc, :trigger, "asay", m = %{trigger: %{type: :bang, args: [target | text]}}}, state) do - text = Enum.join(text, " ") - say_for(m.account, target, text, false) - {:noreply, state} - end - - def handle_info({:irc, :text, m = %{text: "say "<>rest}}, state) do - case String.split(rest, " ", parts: 2) do - [target, text] -> say_for(m.account, target, text, true) - _ -> nil - end - {:noreply, state} - end - - def handle_info({:irc, :text, m = %{text: "asay "<>rest}}, state) do - case String.split(rest, " ", parts: 2) do - [target, text] -> say_for(m.account, target, text, false) - _ -> nil - end - {:noreply, state} - end - - def handle_info(_, state) do - {:noreply, state} - end - - defp say_for(account, target, text, with_nick?) do - for {net, chan} <- IRC.Membership.of_account(account) do - chan2 = String.replace(chan, "#", "") - if (target == "#{net}/#{chan}" || target == "#{net}/#{chan2}" || target == chan || target == chan2) do - if with_nick? do - IRC.send_message_as(account, net, chan, text) - else - IRC.Connection.broadcast_message(net, chan, text) - end - end - end - end - -end |