Bot de Telegram para soporte de bricolaje

Imagina que tienes tu propio canal en el carrito. Digamos que expresas un punto de vista político impopular y, en consecuencia, captas un golpe personal por parte de los lectores y de paso.





O, por ejemplo, está vendiendo algo a través de su canal. Hay tantos clientes que un "vendedor" (= usted) no puede hacer frente. O su soporte comercial responde a todos en el chat público adjunto a su canal. Pero a muchos les da vergüenza hacer preguntas, como se puede ver, por eso escriben en un mensaje personal, que no escala.





Hay muchos problemas, pero solo hay una solución: hacer un bot de Telegram que funcione como intermediario entre tus clientes y el equipo de soporte.





Mi opinión : este es el mejor uso de los bots de telegramas en toda la historia de su existencia. En segundo lugar está la distribución de información clasificada a través del bot solo a usuarios pagos.





- Livegrambot. , " Livegrambot", . , , .





, 1 .





TL;DR: : https://github.com/ohld/telegram-support-bot





.

:





  • ( , ),





  • ( , ),





  • ( ).





:





  1. ,





  2. ,





  3. ,





  4. ( reply),





  5. , .





: , .





? , .

, . , , . , Heroku, , .





README.md Heroku, . , Heroku ( 1 ), :





Heroku , , , . :





- App name: Heroku. .





- Choose a region: . .





- HEROKU_APP_NAME



: , App name ( , ).





- TELEGRAM_SUPPORT_CHAT_ID



: , . - .





- TELEGRAM_TOKEN



: , BotFather.





TELEGRAMSUPPORTCHAT_ID





, - . , , " ", chat_id



.





?

. , . , .





Python python-telegram-bot



. GitHub (), .





( )





3 ():





from telegram.ext import Updater
from telegram.ext import CommandHandler, MessageHandler, Filters

updater = Updater(TELEGRAM_TOKEN)
dp = updater.dispatcher

#      "   {username}"
dp.add_handler(CommandHandler('start', start))

#       
dp.add_handler(MessageHandler(Filters.chat_type.private, forward_to_chat))

#       
dp.add_handler(MessageHandler(Filters.chat(TELEGRAM_SUPPORT_CHAT_ID) & Filters.reply, forward_to_user))
      
      



/start . - - , ().





def start(update, context):
    update.message.reply_text(WELCOME_MESSAGE)

    user_info = update.message.from_user.to_dict()

    context.bot.send_message(
        chat_id=TELEGRAM_SUPPORT_CHAT_ID,
        text=f"? Connected {user_info}.",
    )
      
      



, ():





def forward_to_chat(update, context):
    update.message.forward(chat_id=TELEGRAM_SUPPORT_CHAT_ID)
      
      



(reply) , . .forward



, . Telegram Bot API ():





def forward_to_user(update, context):
    user_id = update.message.reply_to_message.forward_from.id
    context.bot.copy_message(
        message_id=update.message.message_id,
        chat_id=user_id,
        from_chat_id=update.message.chat_id
    )
      
      



Heroku





Heroku, Webhook, Pooling. , " ", " ". , (, , - ). , , , .





, Heroku ( ). "" , . , .





, Webhook, , endpoint. : " - ". - , , . , https.





, Heroku https, python-telegram-bot



. URL, , .





webhook- () :





#    
updater.start_webhook(
  listen="0.0.0.0",
  port=PORT,  # HEROKU ,       
  url_path=TELEGRAM_TOKEN  #     ,  
)

#  : "     "
updater.bot.set_webhook(f"https://{HEROKU_APP_NAME}.herokuapp.com/{TELEGRAM_TOKEN}")
updater.idle()
      
      



, HEROKU_APP_NAME



, Heroku App? , , Heroku . , , " App Name " .





?





, , . ?





-, , - . , . -, : CRM, , .






Gracias por ver. Ahora ya sabe cómo puede crear e implementar un bot de soporte de Telegram de forma gratuita. El código completo del proyecto (junto con el botón mágico "Implementarlo para Heroku") está aquí . En mi canal de Telegram, comparto mi experiencia en el desarrollo de grandes bots de telegram, comparto conjuntos de datos y análisis de productos. Venga.





¿Qué otros casos de uso populares de bots de Telegram destacarías? Escribe en los comentarios.








All Articles