Backend-common/telegram-bot-spring
Alexander Buntakov e86e88c27b fix ReposoitoryTest 2023-01-23 23:03:15 +03:00
..
src Feature/telegram bot (#106) 2022-12-12 14:14:13 +03:00
.gitignore Feature/telegram bot (#106) 2022-12-12 14:14:13 +03:00
README.md Feature/telegram bot (#106) 2022-12-12 14:14:13 +03:00
build.gradle fix ReposoitoryTest 2023-01-23 23:03:15 +03:00

README.md

Библиотека написания телеграмм-ботов

@Component
class MyTelegramBot(
    private val messageHandlers: List<MessageHandler>,
) : TelegramLongPollingBot() {

    override fun onUpdateReceived(update: Update?) {
        // create MessageContext
        // messageHandlers.takeWhile { it.process(ctx, this) }
    }

}

@Component
class HelloMessageHandler: AbstractMessageHandler {

    override fun isSupported(ctx: MessageContext): Booleat {
        ctx.messageCommand.message.equals("hi")
    }

    override fun process(ctx: MessageContext, sender: AbsSender): Boolean {
        val message = SendMessage().apply {
            this.chatId = ctx.chatId
            this.text = "Hello"
        }

        sender.execute(message)

        return true
    }

}