TelegramMarkov/src/TelegramMarkov.jl

50 lines
1.2 KiB
Julia
Raw Normal View History

module TelegramMarkov
2021-03-07 17:11:31 +00:00
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