Bot telegram tanpa server menggunakan awan Yandex

Halo! Nama saya Viktor Pavlov, dan saya adalah guru magang ilmu komputer di salah satu perguruan tinggi di Rusia. Jadi, untuk siswa, kami mencoba memperkenalkan teknologi terbaru ke dalam proses pendidikan, dan bot "Tanpa Server" adalah salah satunya.



Artikel ini terinspirasi oleh popularitas sumber daya di antara mahasiswa pemrogram, tetapi saya akan mencoba menceritakan semuanya sesederhana mungkin untuk pemrogram pemula. Hasilnya, kami akan membuat bot Echo sederhana sebagai template untuk berbagai modifikasi.



PS Juga, artikel ini terinspirasi oleh kurangnya tutorial di Python, ada tutorial bagus di Nodejs .



Tautan ke

dokumentasi Yandex Cloud Functions Tautan ke dokumentasi API Telegram .






Langkah 1 : Pendaftaran dan login ke platform cloud Yandex



Catatan
. , Serverless VPS. «» .



Langkah 2 : Masukkan Fungsi. Di sini Anda perlu memilih "Cloud Functions" di panel kiri "Management Console".



gambar



Langkah 3 : Tekan tombol gambar. Kemudian kami menetapkan nama fungsi dan deskripsi yang bermakna.



Nasihat
< >-<>-<>.



telegram-study-bot, weather-get-api ..



. language=python3.7, lib=telebot



Langkah 4 : Pilih tab "Editor"



gambar



Setelah itu kita akan membuka jendela untuk mengatur kode fungsi kita. Di sini kita dapat memilih:



1) "Runtime", dalam kasus kita adalah python3.7



Tentang dependensi
preview , ( 02.10.2020 )



2) "Cara" bertanggung jawab atas bagaimana kode akan diteruskan ke fungsi. Pada artikel ini kami akan menggunakan Editor Kode langsung sebagai contoh paling sederhana.



3) "Titik masuk" menjawab yang fungsinya akan menerima permintaan dan akan menjadi awal tindakan fungsi kami, kami akan menunjukkannya nanti.



4) Berikutnya adalah "Parameter", saya sarankan untuk membiarkannya apa adanya.



Jika Anda ingin menggunakan otorisasi
, , .



Langkah 5 : Pastikan kita memiliki set "Runtime" dan "Method" yang benar,



gambar



lalu klik "Create file", beri nama main.py.



Langkah 6 : Ini akan membuka editor kode tempat kita dapat membuat fungsi penangan permintaan. Sebut saja handler dan masukkan kode ini:



import json

def handler(event, context):
    body = json.loads(event['body'])
    return {
        'statusCode': 200,
        'headers': {
            'Content-Type': 'application/json'
        },
        'body': json.dumps({
            'method': 'sendMessage',
            'chat_id': body['message']['chat']['id'],
            'text':  body['message']['text']
        }),
        'isBase64Encoded': False
    }


Parse kodenya
«json», body json- python dict.



handler , , . .



body Python json.loads body .



, webhook telegram , body, json.dumps, .



PERHATIAN!!!



Di "Titik masuk" Anda perlu menentukan fungsi ini sebagai awal skrip. Kami menulis main.handler . Seharusnya seperti ini:



gambar



Kemudian kita klik "Buat versi" dan tunggu sampai kita dipindahkan ke tab "Ringkasan".



Langkah 7 : Di sini kita tertarik dengan "Link to call" dan tombol "Public function". Kami menekan sakelar dan mengingat di mana tautan untuk panggilan itu.



gambar



Langkah 8 : Buat bot telegram dan salin tokennya. Anda perlu membuat kueri seperti:



https://api.telegram.org/bot<bot_token>/setWebHook?url=<webhook_url>


Di mana bot_token adalah token bot telegram Anda, dan webhook_url adalah "Tautan panggilan" dari fungsi (langkah 7). Permintaan ini harus dikumpulkan dan dimasukkan ke dalam baris browser.



Minta contoh
https://api.telegram.org/bot1234567:AAAAAAAAAAAAAAA/setWebHook?url=https://functions.yandexcloud.net/asdjaskjdasdjasd




Langkah 9 : Kirim "halo" ke bot dan lihat hasil akhirnya.



gambar



Terima kasih atas perhatian Anda! Jika Anda sudah membaca artikel ini, maka saya akan senang dengan berbagai saran untuk memperbaiki / melengkapi / mengomentari artikel ini.



All Articles