Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (* Program.fs *)
- module Program
- open Microsoft.FSharp.Control
- open System
- open Telegram.Bot
- open Telegram.Bot.Types.Enums
- let bot_token = "token"
- let bot = TelegramBotClient(bot_token)
- let handler =
- new EventHandler<Args.MessageEventArgs>(
- fun obj x -> MessageProcessor.messageHandler (obj :?> TelegramBotClient) x
- )
- [<EntryPoint>]
- let main argv =
- bot.OnMessage.AddHandler(handler)
- bot.StartReceiving()
- ignore <| Console.ReadLine()
- bot.StopReceiving()
- 0
- (* MessageProcessor.fs *)
- module MessageProcessor
- open Telegram.Bot
- open Telegram.Bot.Args
- open Telegram.Bot.Types.Enums
- let private greeting (client: TelegramBotClient) (chatId: Types.ChatId) =
- client.SendTextMessageAsync(chatId, "Nice to meet ya!")
- let private commands = Map ["/start", greeting;]
- let private proccessText (bot: TelegramBotClient) (msg: Types.Message) =
- let cmd = commands.TryFind msg.Text
- ignore <| if cmd.IsSome then cmd.Value bot (Types.ChatId msg.Chat.Id)
- else bot.SendTextMessageAsync(Types.ChatId msg.Chat.Id, "Some error")
- let messageHandler obj (args : MessageEventArgs) =
- let bot = obj :> TelegramBotClient
- match args.Message.Type with
- | MessageType.TextMessage -> proccessText bot args.Message
- | _ -> ()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement