module TelegramMarkov function initialize end function make_sentence end function list_usernames end function fetch_in_env(varname) if !(varname in keys(ENV)) error_string = """ Please, set $varname in your environment. You can either set it in Julia by doing `ENV["$varname"]=something` or in your shell `export $varname=something`. """ @error error_string "" else ENV[varname] end end include("bot.jl") include("markov.jl") include("server.jl") import .Markov: initialize, make_sentence, list_usernames function run_server() @info "Initializing bot" Markov.initialize() application = Server.application() @info "Starting Telegram not now" Bot.run_bot(Bot.TELEGRAM_BOT) do message @debug "Got a message" message request = Dict(:message=>message[:message], :params=>Dict()) ret = application(request) @debug "I got this ret" ret if !isnothing(ret) chat_id = message[:message][:chat][:id] reply_to = message[:message][:message_id] Bot.sendMessage(Bot.TELEGRAM_BOT, chat_id=chat_id, text=ret, reply_to_message_id=reply_to) end end end export run_server end