Sha256: e4bbff7133a2eeb0cc48a3c0050a9ae0b92e4c1b0a97ce20791b7f32856287a2
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
# frozen_string_literal: true module Kanal module Interfaces module Telegram module Plugins # This class registers properties and hooks for telegram bot library integration class TelegramIntegrationPlugin < Kanal::Core::Plugins::Plugin def name :telegram_properties end def setup(core) register_parameters core register_hooks core end def register_parameters(core) core.register_input_parameter :tg_message, readonly: true core.register_input_parameter :tg_text, readonly: true core.register_input_parameter :tg_chat_id, readonly: true core.register_input_parameter :tg_username, readonly: true core.register_output_parameter :tg_chat_id core.register_output_parameter :tg_text core.register_output_parameter :tg_reply_markup core.register_output_parameter :tg_image_path core.register_output_parameter :tg_audio_path core.register_output_parameter :tg_document_path end def register_hooks(core) core.hooks.attach :input_just_created do |input| input.source = :telegram end core.hooks.attach :input_before_router do |input| input.body = input.tg_text end core.hooks.attach :output_before_returned do |input, output| output.tg_text = output.body output.tg_chat_id = input.tg_chat_id end end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems