defmodule Pleroma.BBS do def start_daemon do :ok = :ssh.start() options = [ system_dir: 'ssh_keys', auth_method_kb_interactive_data: fn (_, user, _) -> { 'Welcome to Pleroma BBS', 'Hello #{user}', 'Password: ', false } end, auth_methods: 'keyboard-interactive,password', pwdfun: fn(user, password) -> true end, shell: &start_prompt/1 ] :ssh.daemon(13121, options) end def start_prompt(user) do spawn(__MODULE__, :prompt, [user]) end def prompt(user) do IO.puts("Hey #{user}.\n") IO.puts("Here's your timeline:\n") user = Pleroma.User.get_cached_by_nickname(to_string(user)) Pleroma.Web.TwitterAPI.TwitterAPI.fetch_friend_statuses(user) |> Enum.each(fn (status) -> IO.puts("#{status["user"]["name"]} (#{status["user"]["screen_name"]}): #{status["text"]}") end) end end