كيفية تحويل أي برنامج نصي إلى روبوت Telegram

إذا كنت بحاجة إلى روبوت Telegram بسيط قادر على تنفيذ البرامج النصية (مكتوبة بأي لغة) والرد بالنصوص والصور ، ثم أسفل cat. ستجد هناك قصة عن محرك بوت يقوم بما تريد.



بوت Telegram



قائمة مختصرة بخصائص المحرك:



  • يمكن للمحرك أن يخدم عدة روبوتات في وقت واحد
  • بوت ينفذ النصوص (مكتوبة بأي لغة)
  • , ( )
  • ( )
  • HTTP, , "" ( cron-)


: , IP-, SSL-… , . , , .



, .





Go. , root-. , , , , .



:



cd tmp
git clone https://github.com/michurin/cnbot.git
cd cnbot
go build ./cmd/...
./cnbot


( ) , . , .





, . : Telegram.



(config.yaml):



bots:
  firstBot:
    token: "22222222:AAAAAAAAAAAAAA"
    script: "/usr/bin/true"


( - , /bin/rm). (-i):



./cnbot -i -c config.yaml


, .



( -i)



./cnbot -c config.yaml


Telegram-.



user 500050880 is not allowed


user_id ( ),



bots:
  firstBot:
    token: "22222222:AAAAAAAAAAAAAA"
    script: "/bin/echo"
    allowed_users: [500050880]


, echo script. ( ) echo-. . hi, Hi!, -n hi.



(-n echo). : ; , , , ; .



. /bin/echo :



#!/bin/sh
env


Hello!



BOT_TEXT=Hello!
BOT_FROM_FIRSTNAME=Alexey
BOT_NAME=firstBot
BOT_CHAT=500050880
BOT_FROM=500050880


, , ID , , ( ; , ).



, . , white list . ID — . . demo.sh.



, PATH . , .





#!/bin/sh
echo '%!PRE'
env | sort


. markdown, . demo.sh.



, stdout:



#!/bin/sh
curl -qfs https://golang.org/lib/godoc/images/footer-gopher.jpg


, "empty", , "".



demo-, .





HTTP bind_address :



bots:
  firstBot:
    token: "22222222:AAAAAAAAAAAAAA"
    script: "/bin/echo"
    allowed_users: [500050880]
    bind_address: ":9091"


:



echo "ok" | curl -qfsX POST --data-binary @- "http://:9091/500050880"


, , . , output . , .



multipart/form-data:



curl -qfsX POST -F to=500050880 -F msg=ok "http://:9091"


, . , , . , demo-. http- . readme , , , .



, , — .



!



...



..., , .



- . , . , , . , . .



, . : , , VPN, … , , - , .



, , , Telegram API . - bash+curl+jq, , .



. . , , - .



, . (), … , , . , , , .



2018 Go , , Go. :-) , , Go . , Go, Go, "" ( ).



. cnbot, .



?



, . . - , — . .



لكني أرغب في تطوير المحرك نحو القابلية للتضمين: لتمييز جزء بسيط منه يمكن توصيله بواسطة مكتبة بأي برنامج Go. تقليديًا ، إذا كان لديك بالفعل خدمة مصغرة لـ ... ما هو جيد بالنسبة ... حتى لعرض مشاهد ثلاثية الأبعاد ، يمكنك تضمين دردشة روبوت فيها في سطر واحد أو سطرين للتشخيص التشغيلي / المراقبة / التحكم ... يبدو لي أن هذا سيكون مفيد. في الواقع ، يمكنك فعل ذلك الآن. إنها ليست مريحة للغاية.




All Articles