Andalana maro no nosoratana momba ny fampidirana Telegram sy 1C. Saingy tsy nisy nahita toromarika feno momba ny fametrahana sy ny fanamboarana webhooks aho. Hiezaka aho hanoratra izany.
Amin'izany rehetra izany dia ilaintsika (na mety tsara kokoa ny milaza izay nampiasako):
- Apache 2.2.24
- OpenSSL (tafiditra ao amin'ny fametrahana Apache)
- 1C (miaraka amin'ny môdioly) mpizara tranonkala)
- Ny sehatrao manokana
- Namorona bot ao amin'ny Telegram (tsy hilazalaza ny famoronana azy aho, satria tsy dia misy dikany loatra)
Heverina fa efa napetrakao avokoa ny rindrambaiko rehetra.
Noho izany, andao hanomboka amin'ny fahazoana taratasy fanamarinana. Sokafy ny andalana baiko ary tanteraho ity code manaraka ity:
openssl req -newkey rsa:2048 -sha256 -nodes -keyout YOURPRIVATE.key -x509 -days 365 -out YOURPUBLIC.pem -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=YOURDOMAIN.EXAMPLE"izay:
YOURPRIVATE.key dia ny fanalahidin'ny fanamarinana manokana. Ho ampiasaina amin'ny Apache
YOURPUBLIC.pem no fanalahidin'ny daholobe amin'ny taratasy fanamarinana. Hampiasaina rehefa misoratra anarana webhook
YOURDOMAIN.EXAMPLE - ny adiresin'ny fonenanao misy webhook. Tsy maintsy mifanandrify amin'ny adiresy webhook!!!
Aorian'ny fanatanterahana io fehezan-dalàna io dia hiseho ao amin'ny lahatahiry openssl ny rakitra fototra (ho ahy dia "C: Program FilesApache Software FoundationApache2.2bin").
Nadikako tao amin'ny lahatahiry Apache conf izy ireo.
Andao hiroso amin'ny fametrahana Apache.
Nahita fomba maro samihafa aho. Ity manaraka ity dia niasa tamiko:
Ireto andalana manaraka ireto dia nampiana tao amin'ny httpd.conf:
Listen 443 Mba hahafahan'i Apache "mihaino" ny port 443.
andian-tsoratra ahena amin'ny endrika manaraka:
<IfModule ssl_module>
SSLMutex default
SSLSessionCache none
</IfModule>Amin'ny farany dia misy andalana fanampiny izay hanondroko ny lalana mankany amin'ny taratasy fanamarinana:
SSLEngine On
SSLCertificateFile conf/YOURPUBLIC.pem
SSLCertificateKeyFile conf/YOURPRIVATE.keyAry esory ny tsipika:
LoadModule ssl_module modules/mod_ssl.so Amin'ny fanamafisana dia mamorona serivisy HTTP izahay. Izy no hamaly ny telegrama sy hikarakara ny fangatahany.
Raha ny ahy, ireto paramètre ireto dia voatondro:
Anarana: TGWebhook
RootURL: webhook
Fampiasana indray ny sessions: Aza mampiasa (miaraka amin'ny maody mandeha ho azy dia tsy nety tamiko izany)
Fiainana: 20
Modely URL: namorona môdely "Any" misy fomba roa: GET sy POST



Ny mpandrindra fomba dia noforonina amin'ny alàlan'ny default. Hanampy ity manaraka ity amin'ny mpitantana POST aho, mba hanamarinana ny fifandraisana:
Функция ЛюбойPOST(Запрос)
ВыслатьТестовоеСообщение(""); //chat_id
Ответ = Новый HTTPСервисОтвет(200);
Возврат Ответ;
КонецФункции
&НаСервере
Процедура ВыслатьТестовоеСообщение(Чат)
Сообщение = "Тестовое сообщение";
Токен = "";//Ваш токен telegram
Сервер = "api.telegram.org";
Ресурс = "bot" + Токен + "/sendMessage?chat_id=" + СтрЗаменить(Формат(Чат, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "") + "&text=" + Сообщение;
Соединение = Новый HTTPСоединение(Сервер,443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(Ресурс);
Ответ = Соединение.Получить(Запрос);
КонецПроцедурыNy hany sisa tavela dia ny famoahana ny angon-drakitra sy ny fametrahana webhook.
Ny famoahana dia vita toy ny mahazatra, mila manampy boaty fisavana amin'ny famoahana serivisy HTTP ianao:

Ny dingana farany dia ny mampifandray ny 1C amin'ny Telegram. Ho an'ity dia nampiasa pejy html tsotra aho miaraka amin'ity code manaraka ity:
<html>
<body>
<form action="https://api.telegram.org/bot<ЗдесьДолженБытьТокен>/setwebhook" method="post" enctype="multipart/form-data">
Select Certificate to upload:
<input type="file" name="certificate" id="fileToUpload">
URL: <input type="text" name="url" value="https://<YOURWEBSITE>/<YOUR_PHP_URL>"><br>
<input type="submit" value="Upload Certificate" name="submit">
</form>
</body>
</html>Ao amin'ny endrika, safidio fotsiny ny fanalahidin'ny daholobe ary ampidiro ny lalana feno mankany amin'ny serivisy http. Mamelà ahy hampahatsiahy anao fa ny lalana feno mankany amin'ny serivisy dia ho toy izao:
Aza asiana kaody, azafady, misy zavatra iniana atao mafy, satria... natao ho an'ny fihetsiketsehana fotsiny izany rehetra izany.
Ny publication dia nosoratana satria Tsy nahita ohatra iray miasa amin'ny fiaraha-miasa amin'ny webhooks ao amin'ny tranokala aho, afa-tsy ny Telegram Bot Constructor. Saingy voaloa izany ary angamba tsy ny rehetra no mila izany amin'ity endrika ity.
Ny arsiva dia misy ny fametrahana ny Apache 2.2.24 miaraka amin'ny Openssl (noho ny antony iray dia naharitra ela ny nahitako azy), rakitra html amin'ny fisoratana anarana webhook, rakitra fanamafisam-peo Apache ary config cf miaraka amin'ny serivisy http ary ohatra. amin'ny fandefasana hafatra fitsapana. Tsy ilaina ny misintona, satria Ny votoatiny rehetra dia ao amin'ny lahatsoratra.
Source: www.habr.com
