alice v0.2.3 Alice.Router.Helpers
Helpers to make replying easier in handlers
Summary
Functions
Reply with random chance
Delay a reply. Alice will show to be typing while the message is delayed
Indicate typing
Takes a conn and a list of possible response in any order.
Replies with a random element of the list
provided
Reply to a message in a handler
Functions
Specs
chance_reply(Alice.Conn.t, float, String.t, String.t) :: Alice.Conn.t
Reply with random chance.
Examples
> chance_reply(conn, 0.5, "sent half the time")
> chance_reply(conn, 0.25, "sent 25% of the time", "sent 75% of the time")
Specs
delayed_reply(String.t, integer, Alice.Conn.t) :: Task.t
delayed_reply(Alice.Conn.t, String.t, integer) :: Task.t
Delay a reply. Alice will show to be typing while the message is delayed.
The conn can be passed in first or last.
Returns the task, not a conn. If you need to get the conn, you can
use Task.await(task)
, but this will block the handle process until the delay
finishes. If you don’t need the updated conn, simply return the conn that was
passed to delayed_reply.
Examples
def hello(conn) do
"hello" |> delayed_reply(1000, conn)
conn
end
def hello(conn) do
task = delayed_reply(conn, "hello", 1000)
# other work...
Task.await(task)
end
Specs
random_reply(Alice.Conn.t, list) :: Alice.Conn.t
random_reply(list, Alice.Conn.t) :: Alice.Conn.t
Takes a conn and a list of possible response in any order.
Replies with a random element of the list
provided.
Specs
reply(Alice.Conn.t, String.t) :: Alice.Conn.t
reply(String.t, Alice.Conn.t) :: Alice.Conn.t
Reply to a message in a handler.
Takes a conn and a response string in any order.
Sends response
back to the channel that triggered the handler.
Adds random tag to end of image urls to break Slack’s img cache.