Telegram API'si nedir? Telegram'da bildirimleri artırmanın kolay bir yolu Hava durumunu değiştirmek için API'yi değiştirin

Yeni başlayan biri yalnızca Telegram messenger'a gelirse, o zaman hemen yemek, nasıl başlayacağı veya belki de hizmete nasıl kaydolacağı konusunda endişelenmesi gerekecektir. Bunun için bir cep telefonu numarasına ve herhangi bir platformda veya işletim sisteminde https://www.telegram.org adresinden bulup indirebileceğiniz Telegram eklentilerinden birine ihtiyacınız var. Her şey tamamlandıktan sonra yeni bir Telegram müşterisi ve kanallarımızın en üst hizmete terfi edecek potansiyel bir müşterisini arıyoruz.

Kanala erişmek için Telegram.me'yi etkinleştirin veya kilidini açın

Ayrıca yeni başlayan biri Telegramlarla yolculuğuna devam ederken, çeşitli kanalların şimdiye kadar bilinmeyen ışığı da yavaş yavaş açılıyor. Telegram.me'yi görüntülemek için tıkladığınız kanala gitmek için üzerine tıklamanız veya cihazınızda açmanız gerekir. Orada, diğer koristuvach ve hizmet botlarıyla sohbetler var, yeni öğelere, resimlere, videolara bakıyorlar, koristuvach (artık kanal için ön ödeme yapan bir kişi) ve bu kanalın para kazandığı saatlerce reklam bildirimleri var. Elbette bazılarımız böyle bir kanala sahip olmak ister ama herkes nasıl olacağını bilmiyor.

Yeni başlayanlar için erişilebilir Telegram API Rusça

Telgraflarla kendi işinizi kurmak artık eskisi kadar kolay değil. Telegram API uzun süredir Rus standartlarına açıktır ve ek şablonlar ve yapıcıların yardımıyla kendi bot kanalınızı oluşturmanıza olanak tanır.
İşin en önemli kısmı Top'da hile yapmaktan hizmet devralarak ön ödemelerde hile yapmaktır. Ön ödemenin ihtiyaçları nelerdir? Ne kadar çoksa, reklam gönderisinin maliyeti de o kadar artar ve Vlasnik kanalına o kadar çok para getirirsiniz. Telgraf aracılığıyla dünyayla bilgi alın.

Geri kalan zamanlarda Telegram herkesin ağzında. Galalara büyük başarı getiren bu programın pazarlamasına dikkat etmek gerekiyor. Telegram'ın ana "numaralarından" biri son derece güvenli olmasıdır - Pavel Durov'a göre, hesaplar arasındaki tüm gezinmeler şifrelenmiştir. Üstelik dünyanın hiçbir özel servisi siz bize bilgi vermedikçe erişime izin vermiyor. Ancak bu yazı bu konuda hiçbir şey söylemiyor. Bugün Telegram'ın en az harika özelliğinden değil, botların kendisinden bahsetmek istiyorum. Ek olarak, aynı zamanda, çeşitli Telegram botları (örneğin github bot) hakkında zaten pek çok bilgi var, messenger API'sini kullanıcılar için açtı ve artık blackjack ve çörekler ile kendi güçlü botunuzu oluşturabilirsiniz.

Burada size ek Python ve Django çerçevesini kullanarak çevrimiçi bir botun nasıl yazılacağını göstereceğim. Daha sonra uzak bir ana bilgisayarda çalışacak ve kullanıcılardan gelen komutları kabul edecek tam teşekküllü bir web eklentisi oluşturacağız. Tüm çıktı metinleri github depomda mevcut.

Telegram botlarıyla etkileşim sürecini açıklayan belgeler mevcuttur. Bisikletin ters gitmemesi için telepot botların tüm ana işlevlerini uygulayan Python kütüphanesinden nefret ettiğimi biliyorum. Daha önce de düşündüğüm gibi botumuzun kullanıcılarına hizmet verebilmek için bir web eklentisi, bir vikory ve Django çerçevesi geliştireceğiz.

Telegram botu nasıl oluşturulur?

Başlamak için yeni robotumuzu Telegram'a kaydetmemiz gerekiyor. Şu şekilde deneyin:

  • Telegram programını telefonunuza veya bilgisayarınıza yüklemeniz gerekmektedir. Programı büyüleyebilirsiniz
  • im'yam ile botun iletişim listesini ekleyelim BotBaba
  • Butona basarak bota katılma işlemini başlatıyoruz Başlangıç. Aşağıda tam olarak ekran görüntüsündeki gibi bir komut listesi var.
  • Yeni bir bot oluşturmak için komutta oturum açmanız gerekir /yenibot ve talimatları izleyin. Saygıyı geri ver botun kullanıcı adı her zaman bot kelimesinden intikam almaktan suçlu. Örneğin, DjangoBot veya Django_bot.

  • Robotumuz için PythonPlanetBot adını seçtim çünkü ana işlevi Python Planet sitesine giden RSS beslemesini ayrıştırmak ve bahçıvanın kalan ekimleri hakkında bilgi sağlamak :)

Botu oluşturduktan sonra şu metinle saygınızı biraz artırın:

Vikorist, Vikorist HTTP API'sine yönelik bu çağrıyı:

Bunu sözde takip eden şey takip ediyor botumuzu manipüle etmek için kullanacağımız jeton. Oluşturulan bir telgraf botunun işlevlerine ek olarak BotFather'ın diğer yetenekleri de düşüktür:

  • Bot'a bir açıklama verin
  • Bir avatar ayarla
  • Jetonu değiştir

Kodlamaya başlayalım

Zaten düşündüğüm gibi sana yazıyorum Django'da web eklentisi. Bira izi çalışmaya gerek olmadığı anlamına gelir. Temel bir Python betiğiyle idare edebilirsiniz, ancak bu durumda Telegram'ı periyodik olarak kullanıcı botundan gelen yeni sorgularla (Vikory yöntemi) test etmek gerekecektir. Güncellemeleri al) ve kalan verileri tekrarlamadan kaldırmak için daha büyük bir uzaklık. Telegram'ın, botunuz için komutları/bildirimleri almak için birbirini dışlayan iki yöntemi vardır.

  • Wikoristan'dan API yöntemine Güncellemeleri al
  • Webhook'u yükleme

Bir Web kancası ayarlamak, bota her mesaj göndermek istediğinizde bota uygun POST isteğine özel bir URL iletmeyi içerir. Bu seçeneği bot ile istemcisi arasındaki etkileşim için kullanacağız. URL'yi ayarlamak için API yöntemini kullanmanız gerekir setWebhook. Bu, URL'nin https ile başlayabileceği, ardından geçerli bir sertifikaya sahip SSL bağlantısının korunacağı anlamına gelir. Telegram, bir yöntem gerektiren kendinden imzalı bir sertifika kullanmanıza olanak tanır setWebhook ayrıca genel anahtarı PEM formatında (ASCII base64) aktarın. Veya Let's Encrypt olarak seçebilirsiniz.

Hakkında rapor vermek Güncellemeleri alі setWebhook detaylı olarak okuyabilirsiniz.

Tamam, Telegram'la robotlara yönelik python kütüphanesine geri dönelim - telepot. Şu anda kalan sürüm 6.7'dir. Bunu sanal ortam python virtualenv'e kuruyoruz:

Pip kurulumu telepot

Python'da bir Telegram botuyla etkileşim kurmanın en basit seçeneği şuna benzer:

Telepot jetonunu içe aktar = "123456" TelegramBot = telepot.Bot(token) print TelegramBot.getMe()

Değişim akımına, BotFather aracılığıyla bot oluşturulduğunda alınan tokenin değeri verilir. Sonuç olarak, bu komutları girdikten sonra şunları kaldırabiliriz:

(u"kullanıcı adı": u"PythonPlanetBot", u"ad_adı": u"Python Planet Bot", u"id": 199266571)

Uçuyorum! Bot hakkında bilgi döndüren getMe adlı en basit API'ye tıkladık: kullanıcı adı, kimlik, ad_adı.

Botumuzu kişi listenize ekleyin ve ona standart /start komutunu gönderin

Vikonuemo kodu:

TelegramBot.getUpdates() [(u"message": (u"date": 1459927254, u"text": u"/start", u"from": (u"username": u"adilkhash", u"first_name) ": u"Adil", u"id": 31337), u"message_id": 1, u"chat": (u"kullanıcı adı": u"adilkhash", u"ad_adı": u"Adil", u" type": u"private", u"id": 7350)) u"update_id": 649179764)]

Telegram botuna bağlanma işlemi HTTPS üzerinden gerçekleştirilir; İletim için JSON kullanılır. Yöntem Güncellemeleri al Güncelleme türündeki nesnelerin listesini/dizisini döndürür. Güncellemenin ortasında bir Mesaj nesnesi var. Botla standart etkileşim için, aslında bota gönderilen metni saklayan bir metin niteliğine sahip olan Mesaj nesnesinin kendisini ve Telegram botumuza katılmayı başlatan müşteri hakkında bilgileri içeren sohbet nesnesini oluşturmamız gerekir. Ayrıca getUpdates yöntemi çağrılırken dengeleme parametresi görevi gören update_id parametresi de vardır. Ardından update_id+1, son update_id'den sonra gelen tüm bildirimleri döndürecek ve önceki tüm bildirimler silinecektir.

TelegramBot.getUpdates(649179764+1) [(u"mesaj": (u"tarih": 1459928527, u"metin": u"merhaba kardeşim", u"from": (u"kullanıcı adı": u"adilkhash", u"first_name": u"Adil", u"id": 31337), u"message_id": 13, u"chat": (u"username": u"adilkhash", u"first_name": u"Adil" , u"type": u"private", u"id": 7350)) u"update_id": 649179765)]

En basit Telegram botunu yazma aşamasında bu tıklamalardan bıktık. Geliştiricilerimize hizmet edecek Django programları yazmaya başlayalım.

Basit bir Planet Python RSS beslemesi ayrıştırma işlevi buna benzer.

Telegram'ın büyümesi büyük ölçüde çok sayıda robotun (küçük hizmet robotları) varlığına yansıyor. Orta bölgedeki programlara aşina olan kozhen koristuvach tarafından oluşturulabilirler. Telegram API Bot, güçlü bir robot programlamanıza olanak tanıyan bir yazılım arayüzüdür.

API, Telegram botunun davranışını ayarlamak için kullanılan nesneleri ve komutları içerir. Vikorist arayüzünü kullanarak Telegram'da başlatıldığında botlar gibi çalışmaya başlayan kendi program kodlarınızı oluşturabilirsiniz.

Kontrol elemanları

Bot Telegram API'si, JSON'da temsil edilen nesnelere yönelik tüm kontrol öğelerine sahiptir, dolayısıyla şarkı kuralları tarafından tanımlanan bir satır gibi görünür. Bu, aktarılan program kodu değil, metin görünümündeki bir dizi "anahtar: değer" çifti olduğundan, veri alışverişinin mümkün olduğunca hızlı ve uygun maliyetli bir şekilde gerçekleştirilmesine olanak tanır. Tabloda tüm API türleri gösterilmektedir. Çoğu nesne bot komutları oluşturulmadan önce atanır. Anahtarlar nesnenin yeteneklerinin daha geniş bir şekilde anlaşılmasını sağlar.

İsim Tanım Anahtarlar
Kullanıcı Telegram'da Koristuvach İD
ilk adı
soy isim
Kullanıcı adı
Sohbet Sohbet İD
tip
başlık
Kullanıcı adı
ilk adı
soy isim
all_members_are_administrators
İleti Tebrikler Mesaj Kimliği
itibaren
tarih
sohbet
ileri_from
ileri_tarih
answer_to_message
metin
varlıklar
ses
belge
Fotoğraf
etiket
video
ses
altyazı
temas etmek
konum
mekan
new_chat_member
left_chat_member
new_chat_title
new_chat_photo
delete_chat_photo
group_chat_created
supergroup_chat_created
channel_chat_created
migrat_to_chat_id
migrat_from_chat_id
pinned_message
Mesaj Varlığı Kısa mesajdaki Okrema gerçekliği (hashtag, mesaj vb.) tip
uzunluk
URL
telafi etmek
Fotoğraf boyutu Belirli bir boyuttaki resim veya fotoğrafın, dosyanın veya çıkartmanın önizlemesi dosya_kimliği
Genişlik
yükseklik
Dosya boyutu
Ses Ses kaydı dosya_kimliği
süre
icracı
başlık
mime_type
Dosya boyutu
Belge İster resim olsun, ister dosya, ister ses kaydı, ister ses kaydı olsun dosya_kimliği
baş parmak
dosya adı
mime_type
Dosya boyutu
Etiket Etiket dosya_kimliği
Genişlik
yükseklik
baş parmak
Dosya boyutu
Video Video kaydı dosya_kimliği
Genişlik
yükseklik
süre
baş parmak
mime_type
Dosya boyutu
Ses Golosovo bildirimi dosya_kimliği
süre
mime_type
Dosya boyutu
Temas etmek Telefon bağlantısı telefon numarası
ilk adı
soy isim
Kullanıcı kimliği
Konum Haritada Krapka boylam
enlem
Mekan Haritadaki nesne konum
başlık
adres
foursquare_id
Kullanıcı ProfiliFotoğrafları koristuvach'ın profil fotoğrafı toplam sayım
fotoğraflar
Dosya Dosya indirilmeye hazır dosya_kimliği
Dosya boyutu
dosya yolu
YanıtlaKlavyeİşaretleme Çoklu giriş seçeneklerine sahip klavye tuş takımı
yeniden boyutlandır_keyboard
one_time_keyboard
seçici
Klavye Düğmesi Ses için klavye düğmesi metin
request_contact
request_location
YanıtlaKlavyeGizle Bot klavyesini standart Telegram klavyesiyle değiştirir hide_keyboard
seçici
Satır İçi Klavyeİşaretleme Bildirimlerin altında görünen bir klavye kuruldu inline_keyboard
Satır İçi Klavye Düğmesi Yeni klavyedeki tek tuş metin
URL
geri çağırma_verileri
switch_inline_query
switch_inline_query_current_chat
geri arama_oyunu
Geri Arama Sorgusu Giriş, belirtilen callback_data parametresinden giriş düğmesi için geri arama sinyalini sağlayacaktır. İD
itibaren
İleti
inline_message_id
veri
Yanıtlamaya Zorla Müşterinin yaptığı budur: bir bildirim seçin ve "Rapor Et" düğmesine basın zorla_yanıt
seçici
Yanıt Parametreleri İsteğin neden başarılı olmadığını gösterir migrat_to_chat_id
yeniden dene_sonra

Messenger'ın yetkilendirdiği sonuçta ortaya çıkan satırlar, API nesneleri biçiminde sunulur.

Mesajlar istek olarak alınıp verilir. Tablonun altındaki noktalarda bunların eylem örnekleri bulunmaktadır.

Tüm yöntemler (ve birçoğu vardır) gruplara ayrılmıştır:

  1. Bilgileri güncellemeyi reddedin.
  2. Sohbet çalışması.
  3. Çeşitli elemanların güçlendirilmesi.
  4. Çıkartmalarla çalışmak.
  5. Güncelleme duyurulacak.
  6. Satır içi mod.
  7. Ödeme işlevi.
  8. Igor için.

Henüz Rus Telegram Bot API'si için eksiksiz bir belge bulunmamaktadır. Ancak Google Chrome tarayıcısındaki standart çeviri, mucizevi bir şekilde görevlerle başa çıkıyor.

Film programlama

Telegram API, insan gerektirmeyen programlamayı destekler. Bu, yazara seçme özgürlüğü verir.

JavaScript severler Node.js Telegram Bot API'sine göz atabilirler. Burada dili nasıl konuşacağınızı bilmeniz ve bu çerçeveyle akıllıca çalışarak istemci dilini tam teşekküllü bir sunucu arayüzüne dönüştürmeniz gerekir.

Telegram Bot API'sinde bot yazmak için en popüler olanlardan biri PHP'dir. Bu dil öncelikle sunucu tarafı web eklentilerinin oluşturulmasına yöneliktir. Bu, web ortamının basitliği, mantığı ve uzmanlığıyla vurgulanmaktadır.

Python'daki Telegram Bot API'si genellikle vikorize edilir. Bu dil minimalizm ile farklılaşır ve tıpta kullanılabilecek kadar basittir. Üretkenliği nedeniyle zaten popüler.
Klasik Telegram Bot API C++'dır. Dil boş zaman olarak adlandırılamaz, ancak bu, dilin diğer tüm revizyonlarının oluşturulduğu temeldir. Görünüşe göre hiçbirinde şarkı söyleme uzmanlığı yok. Araçlar programlar oluşturmanıza olanak sağlar.

Vikoristanny popo

API, bildirimleri, dosyaları, fotoğraf etiketlerini, düzenlemeleri ve çok daha fazlasını geliştirmenize olanak tanıyan bir dizi yöntem içerir. Tüm bu komutları resmi web sitesindeki API açıklamasında bulabilirsiniz.

Telegram'da içerik oluşturmak için @Botfather'ın özel bir hizmeti var. Yenisine gidin ve yeni bir robot oluşturmanıza yardımcı olacak komutları yazın. Hemen /newbot komutunu yazın. Daha sonra sırasıyla satıcıların adlarını ve adını girin. Kesinlikle "bot" ile bitecek. Size bir jeton (tanımlayıcı) gönderdikten sonra yeni bir bot oluşturulur. Yetkilendirme bir belirteç aracılığıyla gerçekleştirilir. Programı Telegram'da başlatmak için çocuğunuzu bulun ve "Başlat" düğmesine tıklayın. Daha sonra /start komutunu çalıştırın. /settings ve /help komutları da cilt robotu için ayrılmıştır.

Her şey şöyle görünüyor:

http://api.telegram.org/bot /TAKIM

Hepimiz sormanın 4 yolunu biliyoruz:

  1. URL'yi girin
  2. application/x-www-form-urlencoded
  3. application/json (dosyaları içe aktarmak için uygun değildir)
  4. çok parçalı/form-data (dosyaları depolamak için)

GET ve POST istekleri olarak kullanılabilir.

API komutlarını denemenin en kolay yolu tarayıcınızın adres çubuğunu kullanmaktır. Web sürümünden veya mobil cihazdan botunuza giriş yapın. Daha sonra tarayıcınıza şu komutu yazın:

https://api.telegram.org/bot507226896:AAGT_fsEfg1milOkqbNp-VolQDJ0tGjaPvD7/getUpdates

Sonuç olarak pencerede bir JSON dizisi görüntülenecektir

("tamam":doğru,"sonuç":[("update_id":231886689,
"message":("message_id":3,"from":("id":391911270,"is_bot":false,"first_name":"Irina","soyadı":"12345678","language_code":"uk "),"sohbet":("id":391911270,"ad_adı":"Irina","soyadı":"12345678"type":"özel"),"tarih":1514900431,"metin": " \u044b\u0443\u0442\u0430\u043e\u0430\u043c\")))])

Parametre chat":("id – bu sohbet tanımlayıcısıdır. Ardından şu satırı girin:

https://api.telegram.org/ bot507226896:AAGT_fsEfg1milOkqbNp-VolQDJ0tGjaPvD7/sendMessage?chat_id=391911270&text=Merhaba

Tarayıcı bir satır gösterecek

("tamam":true,"result":("message_id":4,"from":("id":507226896,"is_bot":true,"first_name":"Anna","kullanıcı adı":"Annatuola_bot" ),"chat":("id":391911270,"first_name":"Irina","soyadı":"12345678","type":"private"),"date":1514900499,"text":"Merhaba "))

Ve Telegram sohbetinde, oluşturulan robottan gizlilik elde edeceksiniz.

Bildiğiniz gibi telgraflar için sıfırdan yeni bir unsur oluşturmak kolay değil. Diğer yazılarda da açıkça görüldüğü gibi problemler programlama anında başlıyor.

  • öğretici

Chatbotlar hem inek meraklılarına hem de müşterileriyle etkileşimlerini kendileri için en uygun şekilde düzenlemek isteyen şirketlere hitap eden harika bir konudur.


Bugün size hava durumu için yararlı olan esnek API.AI arayüzleri oluşturmak için bir wiki platformu kullanılarak oluşturulan basit bir Telegram bot örneğini anlatacağım. Burada bu talimatları takip ediyorum, gerçek uygulamada hava durumu ve uygulama arayüzleriyle sınırlı kalamazsınız
Otomatik tanıtım ve satışlar için.

Önce Krok: Altyapının hazırlanması.

Bu durumda Telegram botu ve API.AI olmadan galip geleceğiz, hizmet maliyetsiz kırılacak - bulut kayıtları oluşturmaktan mahrum kalacağız.

Telegram botu oluşturun

Bir bot oluşturmak için @BotFather yazmanız yeterlidir (bu, diğer botları oluşturabilen ve yapılandırabilen bir bot türüdür):

  1. /newbot komutunu gönderin - @BotFather'a yeni bir bota ihtiyacımız olduğunu bu şekilde bildiririz
  2. Şimdi @BotFather bizden yeni robota isim vermemizi istiyor. Bunlar bizim
    Mayday koristuvachs, bu ismin akıllıca ve basit bir şekilde verilmesi gerekiyor.
  3. Kalan kısayol, sonuçta gerekli olan bot kullanıcı adı için belirtilir.
    "bot" yaz.
  4. Kullanıcı adını kullanmazsanız onay bildirimleri ve erişim jetonları kaldırılacaktır.

Daha açık hale getirmek için aşağıda tüm eylemlerin yer aldığı bir ekran görüntüsü verilmiştir:

Biraz teori

Bir proje veya konteyner (sizin tercih ettiğiniz şekliyle) olan bir API.AI aracısı oluşturmanın zamanı geldi. Temsilci bağlamları, özleri ve türleri ayarlayacaktır:

  • "bağlam" (Niyet) bunlar arasındaki bağlantıyı görüntüler, Koristuvach ne dedi?і
    Tim Programımızdan ne kazanabilirsiniz?
  • "varlıklar"- Bu araç aşağıdakiler için parametre değerleri elde etmek için kullanılır:
    Programlarımız doğal dilden (söyleyerek ve yazarak)
    Koristuvach)
  • türleri” – bu, programımızın çalışmasının nihai sonucudur;
    Koristuvacheva'yı sizi bilgilendirmeye zorluyoruz

Ayrıca akış diyaloğunda yazışma türü için yeterli bilgi bulunmaktadır, böylece statik veriler ayarlanabilmektedir. türleri V bağlamlar. Aslında belirli bir hizmet türünü almak için harici bir hizmete veya kendi iş mantığımıza ihtiyaç duyabiliriz, örneğin yarının hava durumu hakkında bilgi almak için harici hizmet API ağırlığını çağırmamız gerekir. Daha sonra öncelikle veritabanını hazırlamadan önce dış sistemlerden bilgileri kaldırmanızı anlatacağım.

API.AI ile proje oluşturma

API.AI'ye kaydolmak için bir Google hesap kaydına ihtiyacınız olacaktır (bunu Gmail hesabınıza eklemeniz yeterlidir). Şimdi https://api.ai/ adresine gidin, “ÜCRETSİZ KAYIT OLUN” butonuna tıklayın ve ardından giriş yapmak istediğiniz adın altındaki hesap girişini seçin.


Şimdi aracının kendisinin yaratılmasına geçelim. “Acente oluştur”a tıklayın ve en azından Ad, Dil ve Saat Dilimi seçeneğini seçin.


Krok farklıdır: Temsilciyi eğitin.

Bağlam, vurguncu gibi görünen şeyler ile temsilcimizin kazanabilecekleri arasında bağlantılar kurar. Hava tahminiyle birlikte hava durumuna da bir göz atalım: Bir dakika bekleyin:


  1. “Bağlam” bölümüne tıklayın. Temsilci, uygulama için "bağlamları" zaten ayarlamış ve değiştirmiştir ve bunları şimdilik değiştirmeden bırakacaktır.
  2. Siz ve meslektaşlarınız için anlaşılır olması için "bağlam" adını verin.
  3. “Kullanıcı Diyor” bölümünde arkadaşınızla ilgili bilgileri ayarlayın. Havadan bahsettiğimiz sürece, insanlar o yerin uygun olduğu saate kadar bağlantıya güç verebilirler. Ayarlarda ne kadar çok uygulama verirseniz, aracı o kadar doğru çalışacaktır. Ekran görüntülerinde bazı örnekler gösterdim:


Diğer durumda, "yarın" ve "Nizhny Tagil" kelimeleri farklı renklerle vurgulanır - bu şekilde kelimeler özlerle ilişkilendirilir ( Varlıklar) (bize göre öz sistemiktir). Vikorist'in parametreleri, "hassasiyet"in ajanı, hangi yer ve hangi tarih için hava durumunu kontrol etmek gerekiyor.


Birkaç ek daha ekleyin ve “KAYDET”e tıklayın.

Test yapmak!

Temsilcinin robotunu basit terimlerle kontrol edelim, örneğin “Çarşamba günü Perm yakınında hava durumu”:



Tüm saat boyunca ekranın sağ üst köşesinde "Şimdi dene" mesajı belirir - bu alana yazın veya sadece hava durumu hakkında yazın ve "Giriş"i tıklayın.


Henüz otomatik şanzımanları ayarlamadık, ancak temsilci zaten parametreleri ayarlamayı öğrendi! NİYET bölümü, failin “düşüncesinin” (ruh halinin “bağlamı”) arkasında havanın ne olduğunu gösterir ve PARAMETRE, diğer değişikliklerin tarihini ve yerinin adını gösterir.

Otomatik feed'ler ekleyin

Ajanımızı öldürelim! Güncel hava olaylarından, belki de basit ifadeler biçiminde, hava durumu hakkında bilgi almayı henüz öğrenmedik.


"Yanıt" bölümüne gidin ve "Muhabirin yanıtları"nı girmeden önce yaptığınız gibi basit yanıtları girin:



Okurken konuyla ilgili mesajları seçebilir, $ yazmaya başlayabilirsiniz; arayüz sizden belirli bir değer seçmenizi isteyecektir.


Bir tür oluştururken, ajan, yeterli veri bulunmayan bir dizi temel maddeyi ve vikoristik olmayan türleri içerir. Örneğin yer belirtmeden sorulduğunda temsilci başka bir satırdan onay alır.


Ayarları kaydedin ve tekrar inceleyin:



Şimdi başka bir onayımız var!

Üçüncü ders: Harici hizmet ekleyin.

Acentemiz, bazı muhabirlerin hava durumunu, hangi tarihte ve hangi yerde olduğunu öğrenmek istemelerini zaten “anlıyor”. Artık verileri telefon servisinden alıp temsilciye aktaramıyorum. Bunun için JS'de birkaç komut dosyası yazmanız ve bunları iyi bir hizmet olan Google Cloud Project'e yerleştirmeniz gerekir.

Başlangıç ​​JS dosyası oluşturma

Başlamak için projenizin adını içeren dizini oluşturun ve bu dizine gidin:

    Linux veya Mac OS X:


    mkdir ~/
    CD ~/


    mkdir %HOMEPATH%
    cd %HOMEPATH%

Şimdi bu değişiklikle index.js dosyasını oluşturun:


index.js kodu

/* * HTTP Bulut İşlevi. * * @param (Object) req Bulut İşlevi istek bağlamı. * @param (Object) res Bulut İşlevi yanıt bağlamı. */ Export.itsm365Weather = function itsm365Weather (req, res) ( answer = "Bu, web kancanızın sonucudur!" // Web kancasının bunu göstermek için verdiği varsayılan yanıt"çalışıyor res.setHeader("Content-Type", "application) / json"); //Uygulama/json MIME tipi gerektirir res.send(JSON.stringify(( "speech": Response, "displayText": Response //"speech", yanıtın sesli versiyonudur, "displayText "is) görsel versiyon)));

Google Cloud Projesini Özelleştirin

  • Vikonite melodisi “Senden önce
    başla” 1 ila 5 puan
  • Konsolda oturum açarak hmaria'daki işlevi etkinleştirin:


    gcloud beta işlevi dağıtımı itsm365Weather --stage-bucket --trigger-http

de, itsm365Weather - işlevin adı ve - mekanizmanın adı
projeye saygı duruşunda bulunuldu.


İşlem tamamlandıktan sonra sonucu http tetikleyici URL'sinden alacaksınız:


API.AI'de Webhook'u gizle

  1. İhtiyacınız olan temsilciye gidin ve ardından “ Yerine Getirme Sol menüde ”.
  2. Ekranın sağ üst köşesindeki Webhook simgesine tıklayın.
  3. Önceki adımda seçtiğiniz URL'yi girin.
  4. Paranı sakla.

Ayarlanan "bağlamda" yeni işlevleri etkinleştirin

  1. "Bağlam" hava durumu tahminine gidin
  2. Bloğu yak Yerine Getirme sayfanın sonunda
  3. "Vikoristuvati Webhook" kutusunu işaretleyin
  4. Ayarlamaları kaydedin ve sonucu tersine çevirin:

Daha sonra oluşturmak için API'de ince ayar yapın

Erişim kolaylığı sağlamak için WWO (World Weather Online) hizmeti bir API anahtarı almanızı gerektirir (sadece Facebook veya Github aracılığıyla kaydolmanız yeterlidir).


Hava durumu bilgilerini çıkarmak için API anahtarını girmeyi unutmadan, başlangıç ​​JS dosyasının kodunu güncelleyin:


Hava durumu tahminleri oluşturmaya yönelik hizmetin çıkış kodu

// Telif Hakkı 2017, Google, Inc. // Apache Lisansı Sürüm 2.0 ("Lisans") kapsamında lisanslanmıştır; // Lisansa uygun olmadıkça bu dosyayı vikorize edemezsiniz. // Web sitesindeki görselleri görüntüleyebilirsiniz // // http://www.apache.org/licenses/LICENSE-2.0 // // Yürürlükteki yasadaki gereksiz gereklilik veya bildirimde dayatılan yazılım // altında dağıtılmaktadır. Lisans tüm "OLDUĞU GİBİ", // açık veya zımni HİÇBİR GARANTİ VEYA KOŞUL OLMAKSIZIN genişletilmektedir. // Lisans kapsamındaki izinleri ve // ​​sınırlamaları düzenleyen belirli dil için Lisans'a tıklayın. "katı kullanın"; const http = require("http"); const ana bilgisayar = "api.worldweatheronline.com"; const wwoApiKey = "98cfb8e40ecc47c4a2f205209172608"; Export.itsm365Weather = (req, res) => ( // İstekten şehri ve verileri alın let city = req.body.result.parameters["geo-city"]; // şehir gerekli param // Tarihi al hava durumu tahmini için (varsa) let date = ""; ("Tarih: " + tarih ) // Hava durumu API'sini çağırın callWeatherApi(şehir, tarih).then((output) => ( // Hava durumu API'sinin sonuçlarını döndürün to API.AI res.setHeader("Content -Type", "application/json"); kullanıcının bildiği hatadır res.setHeader("Content-Type", "application/json"); konuşma": hata, "displayText": hata ))); function callWeatherApi (şehir, tarih) ( return new Promise((çöz, reddet) => ( // Hava durumunu almak için HTTP isteğinin yolunu oluşturun let yolu = "/premium/v1/weather.ashx?format=json&num_of_days= 1" + "&q=" + encodeURIComponent(city) + "&key=" + wwoApiKey + "&date=" + date + "&lang=ru" console.log; ("API İsteği: " + ana bilgisayar + yol); // Hava durumunu almak için HTTP isteği yapın http.get((ana bilgisayar: ana bilgisayar, yol: yol), (res) => ( let body = ""; // yanıt parçalarını depolamak için var res.on("data", (d) => (body += d; )); = JSON.parse(gövde); let tahmin = yanıt["veri"]["hava durumu"]; "]; sıcaklık $(forecast["mintempC"])°C ile $(forecast["maxtempC"])°C arasında değişir. `; // Sözü çıktı metniyle çözümleyin console.log(output); çözümle ( çıktı); res.on("hata", (hata) => ( reddet(hata); ));


Kasvetli projenin işlevini yeniden ateşleyeceğim.

Çeyreklerin timsahı: diyaloğun ince ayarını yapmak

Muhabirle etkileşimde bulunurken, hizmet sağlayıcımıza mümkün olan en kısa sürede yanıt hazırlamak için gerekli tüm bilgileri bize sağlamamız beklenemez. Tahmin oluşturmak için hizmetimizin tarih ve yere ihtiyacı vardır. Tarihi bilinmediğinden, koristuvach'a "bugün" saygı duyulduğunu başarıyla varsayabiliriz, ancak yeri yalnızca koristuvach'ın kendisinden tanıyabiliriz.

Kas-iskelet sistemi parametresi ile "rostashuvannya"yı hesaplayın


“Hava Durumu Tahmini” içeriğini açın ve tamamlamak için coğrafi şehir parametresini seçin. Ardından "İstemler" sütunundaki daha ayrıntılı beslenme bilgilerini kontrol edin.


Ayarlamaları kaydedin ve aracıyı basit bir "hava durumu" güç kaynağına ayarlayarak davranışını değiştirin:



Temsilci bize daha kesin bilgiler sağladı; konsol akış parametrelerini gösteriyor
durumlar.

Yeniden şekillendirmek için neyin döndüğüne dair bir açıklama oluşturun

Müşteriyle etkileşimin ileri aşamalarında toplanan verileri düzeltmek için aşağıdaki açıklamalarda düzenleme yapmanız gerekecektir.



“Hava tahmini” bağlamını ayarlarken, dönecek olan “Çıktı bağlamı ekle” alanına “konum” spesifikasyonunun adını girin ve ayarları kaydedin.

Açıklama için yeni bir bağlam oluşturun

Alıcıyla hattın neresinde olduğunu açıklığa kavuşturmak zorunda kalmadan, aynı düzende bir tencere yemek koyabilirseniz kullanışlı olur. Yiyeceklerin berraklaştırılmasını işlemek için vikorist'i nasıl kullanabileceğinize dair zaten bazı açıklamalar yapmıştınız.


  1. Bir bölüm için yeni bir bağlam oluşturma Niyetler veya satırdaki simgeye tıklayın
    Niyetler görünen sol menü.
  2. Yeni bağlama "Hava durumu güncellemesi" adını verin (ya da belki başka biri bu adı anlamıştır).
  3. Giriş ve çıkış ayrıntılarını “konum” olarak ayarlayın
  4. Koristuvach'tan bazı açıklamalar ekleyin; örneğin, Yarın rafta neler var
  5. Aşağıdaki değerlere sahip bir boyut parametresi ekleyin:
    - Parametre adı:
    coğrafi şehir
    - Değer:#location.geo-şehir
  6. "Bölüm"e muhabir için bir onay ekleyin Cevap”:
    - Vibach, ancak #location.geo-city'de $date-period için tahminleri hesaplayamıyorum
  7. Vikoristannya'yı kaldır web kancası menüde Yerine Getirme.
  8. Ayarları kaydedin ve konsolda test edin:

Beşte Krok: Privitannya ve obrabotka nepredbachennyh durumları

Ajanın ana çekirdeği hazır, artık robot gibi çalışmak kötü
Hemşireyi selamlamış olmak ve aynı zamanda verilmeyen yiyeceklerden ne bekleneceğini bilmek.

Durumun bunaltmasını önlemek için "anlık" hatlarınızı oluşturun

Hazırlanmamış yiyecekleri koymak istiyorsanız (bizim durumumuzda - hava durumuyla ilgili değil), aracının, robotun hazırlıksız durumları işlemesi için bir bağlam içermesi gerekir ( Varsayılan Geri Dönüş Amacı):



Düzeltilen bağlama gidin, rapor çeşitlerinizi gerektiği gibi ayarlayın.

Gizliliğinizin içeriğini ayarlayın

İlgili içerik için gizlilik benzer şekilde ayarlanabilir -
Varsayılan Hoş Geldiniz Niyeti


Krok altmış: botu başlat

Telegram botunu temsilciye bağlayın

“Entegrasyonlar” ayarına gidin ve bölümden botu seçin
"Tek tıkla entegrasyonlar":



@botFather'dan aldığınız jetonu “Telegram token” alanından kopyalayın
başlata basınız.

Robot robotu ters çevirin

Botunuza gidin ve bence ne istediğinizi yazmaya çalışın
@itsm365_weather_bot (Kedisiz hesaplar ilgimi çekiyordu ama günde 500 istekten sonra bot karpuza dönüşecek).


Visnovok

API.AI artık mesajlaşma programlarında, destek sohbetlerinde ve sosyal ağlarda diyalog arayüzleri oluşturmak için kullanılabilir. Gerçek şu ki, araç kendi hizmetlerinizle kolayca entegre edilebilir; bu, müşterilerinizle iletişimi otomatikleştirmek için harika bir araçtır.


Not: Bu benim ilk mesajım, yapıcı geri bildiriminiz için teşekkür edeceğim!

Etiketler:

  • api.ai
  • telgraf
  • telgraf botları
Etiket ekle

ek Telgraf Bot oluşturmanın yeni ve kesinlikle benzersiz temeli ile dürüstçe övünebiliriz. Her ne kadar robot platformu yaz başından bu yana sökülmüş olsa da (sunum 24 Haziran'da yapıldı), aktif dış geliştiricilerin yalnızca küçük bir kısmı güç programlarını cilalamaya ve parçalamaya başladı. Bugün bot vazgeçilmez bir yardımcıdır Telgraf, aynı zamanda güçlendirilmiş sunucularla bağlantı kurmaya da yardımcı olur TelegramBot API'si. Tabii ki, hayvan üzerinde robotik düzeltme işleminin kendisi URL'si Belirtilen parametrelerden sonra Telegram görüntülenir JSON- Hikaye bu. Yemek salonuna gidelim ve oluşturulan robotun (önemsiz tipte) poposuna bir göz atalım.

Bir programı (bot) kaydetme prosedürü

İndirilen botu doğrudan arka uç arayüzüne yazdırıp sohbet etmeden önce kişisel kodunuzu girmeniz gerekir (yazın) İD), benzersiz, kişiselleştirilmiş bir belirteçtir. Bu işlemi gerçekleştirmek için belirli bir bota istek göndermeniz gerekir. @BotFather.

Bu işlemi gerçekleştirmek için aşağıdaki algoritmayı takip etmek gerekir:

  • Aşağıdaki konularda bilgi içeren kısa mesajlar yazıyoruz " başlangıç»;
  • Bundan sonra olası tüm isteğe bağlı komutların ve işlevlerin aktarımı ortadan kalkar;
  • Daha sonra bota metin bildirimleri gönderiyoruz acemi" Ve ana botun giriş komutunun arkasında, botunuzun takma adını görebilirsiniz (bir akıl: adında bir sonek/önek var " bot»);
  • Tüm kurallar kurallara uygunsa mevcut bot isteğinizi görecek ve size izin gönderecektir (oluşturulan botu kişi listenize eklemeniz gerekecektir).

Prensip olarak, bu noktaya kadar botu zaten başlatabilirsiniz veya çoğunlukla gelecekteki kullanıcılar için ayrıntılı bir bildirim ve robotun bir tanımını oluşturabilirsiniz. Belki bir şarkıyla tek bir kitleyi etkilemek istiyorsanız uyumlu bir müzik kompozisyonu veya görseli ekleyebilirsiniz. Önemli: Lütfen adrese giderek tokenınızın benzersizliğini ve gerçekliğini kontrol edin. (api.telegram.org/bot/getMe). Bot programlama süreci

Modda oluşturulan botları yapın Python3 Ancak BT teknolojilerinin ilerlemesi nedeniyle manuel veya temel modu hızlı bir şekilde kullanabilirsiniz. Otomatik bildirimler için Telegram ayarları, metin bildirimlerini indirme işlemini önemli ölçüde hızlandıracak gizlilik kaosu yaratmak daha iyidir (en yaygın ve durgun tornado.web.). Robotun çerçeve kısmının şarkı cümlesinde gösterilmesine izin verin (programlanan robotun dışından gelen bilgiyi temsil eden kısmın yerine koymak daha mantıklıdır). Botu başlatmadan önce aktivasyon prosedürünü tamamlamanız gerekir. Web Kancası adresinize yerelleştirme ile. Daha sonra alarm sinyali ayarlanır (çıkış 6'da) ve seçilen adımların/eylemlerin göstergesi görüntülenir.

  • kelime bilgisi;
  • aşırı güçlü (aşırı güçlü) metin türlerinin işlevsel özelliği;
  • kalıplama bilgilendirmesi.

Botun mantığına tüm nüansları girdikten sonra programınızın kullandığı ana komutları geliştirmeye başlamanız gerekir.

Ekiplerin oluşturulması

Telegram programının kurallarına göre, 2 komuta yanıt vermek için kesinlikle akıllı bir bot (özelliklere, popülerliğe ve popülerliğe bakılmaksızın) gereklidir:

  • Başlangıç;
  • Yardım.

p align = "justify"> İlk komut, depolanan bilgileri gözden geçirmek için değil, botu tanımlamak için oluşturuldu. Çoğu zaman bu prosedür, herhangi bir programın yetkilendirme prosedürüyle yakından ilgilidir.

Takım " Yardım botun ana parametrelerini, kendine özgü özelliklerini, özelliklerini ve komutlarını göstermeyi amaçlamaktadır.

Komut oluşturmak için ana bot vazgeçilmez bir yardımcıdır @BotFather bu, sınıflandırmanız için gerekli ve gerekli komut aktarımını oluşturmanıza yardımcı olacaktır.

Zagalnist

Telegram programının duyusal düzeyde kesinlikle eksiksiz ve anlamlı bilgiler sağladığını, bunları boş parçalara bölmeden sağladığını zaten belirtmiştiniz. Bunun nedeni, botunuzu insan konuşmasını (ses tanıma) okuyacak şekilde programlama olasılığıdır. Tek uyarı, "bebek" botunun yalnızca özel mesajlarda mevcut olacağıdır çünkü sohbette bu özellik mümkün değildir. Robotun “konuşma” sürecini başlatmak için bir dizi bağlantı işlemi gerçekleştirilir:

  • @BotFather'da "setprivacy" kısa mesajı zorunlu kılındı;
  • gizliliğe geçin;
  • Komutları aktarırken “sözde dil” seçeneği eklenir.

Son olarak bot, ses modunda bildirimleri sesli olarak bildirebilir ve bilgi sağlayabilir.

Medya yönleri ve olasılıkları

Botlar gerçek hayattaki Telegram mesajlaşma programlarından pek farklı değildir ancak rastgele resimler, müzik dosyaları, videolar ve çıkartmalarla da çarpışabilirler.

Çıkartma paketini iptal etmek için kısa mesaj göndermeniz gerekmektedir. at_sticker» ve parametrelerde değişiklik yapın cevap Gönder. Bu sayede botunuz metnin yanına dijital çıkartmalar ekleyecek ve saat göstergelerini görüntüleyecektir.

Potansiyel

Ek güvenilir platform için API'si robotlar, kısa sınavlar, anketler, yarışmalar ve raporlamalar oluşturarak süreç otomasyonunun vazgeçilmez yardımcıları ve temeli haline gelebilir. Ana vurgu CTF, DozoR'un özelliklerine yapılabilir.

Çerçeve

Vikoristan için bugünün zorlu çerçeveleri Web Kancası. Sağ tarafta ise yalnızca https temelinde çalışıyor (geçerli bir sertifikaya tabi). Hiçbir deri perakendecisinin geçerli bir sertifikası yoktur. Bunun nedeni ise DPR'den günlük destek gelmesi. Ale, manuel modun açık olduğu açık Telgraf açık veri kodlarını ve hizmetlerini, programınızın uyarlandığı kodlardan ve hizmetlerden ayırt etmek, böylece indirilip yerel adreslere iletilmesi mümkündür.

Telegram botlarıyla ilgili diğer materyaller:

  • Robot Anton - Telegram'da robotlar
  • API Telegram geliştiricilerinin olanakları
  • Boti Telgrafı
  • Telegram 3.0, renkli botları başlatma işlevine sahiptir.