Перейти до основного вмісту

Як написати телеграм-бот зворотного зв'язку на Python

В мережі є багато уроків по написання ботів для телеграму. Але вони або зовсім прості, які просто повторюють надіслане повідомлення, або , які потребують значного досвіду в програмуванні. Давайте спробуємо написати щось проміжне з ухилом в простий рівень – телеграм бот для зворотнього зв’язку.

В самому телеграмі існує низка чат-ботів які пропонують на їх базі створити власний бот зворотнього в’язку. Часто навіть безкоштовно. Але це рішення не підходить для якихось конфіденційних даних. Та й загалом, віддавати свої переписки у чужі ріки – не найкраща ідея. 

1. Експортуємо бібліотеку telebot і вставляємо токен свого бота, отриманій в BotFather замість TOKEN

import telebot

bot = telebot.TeleBot('TOKEN')


2 Додаємо стартове повідомлення

@bot.message_handler(commands=['start'])

def start_message(message):

    bot.send_message(message.chat.id, 'Вітаємо. Введіть ваше повідомлення.')


3 Налаштовуємо прийом повідомлень. Бот може надсилати повідомлення в чат або вам в бесіду. Для цього замініть CHAT.ID на відповідне значення. Як дізнатись ID написано тут. Для варіанту з чатом - треба додати бота в чат, для особистого - запустити бота.

def send_text(message):

    bot.send_message(CHAT_ID, message.text)

    bot.send_message(CHAT_ID, message.chat.first_name)

    bot.send_message(CHAT_ID, message.chat.username)

Налаштувати що саме бот буде надсилати можна змінюючи атрибути message Повністю код виглядає так



import telebot

bot = telebot.TeleBot('TOKEN')

@bot.message_handler(commands=['start'])

def start_message(message):

bot.send_message(message.chat.id, 'Вітаємо. Введіть ваше повідомлення.')

@bot.message_handler(content_types=['text'])

def send_text(message):

bot.send_message(CHAT_ID, message.text)

bot.send_message(CHAT_ID, message.chat.first_name)

bot.send_message(CHAT_ID, message.chat.username)

bot.send_message(message.chat.id, 'Дякуємо. Для відправки повторного повідомлення натисніть /start')

bot.polling()

Коментарі

Популярні дописи з цього блогу

Жовто-блакитний чи синьо-жовтий? Яким має бути прапор України.

Неможливо уявити державу без національних символів, одним з яких є прапор. Україна, от вже 21 рік має своїм прапором «стяг із двох рівновеликих горизонтальних смуг синього і жовтого кольорів». Однак, доволі часто доводиться чути про те, що цей прапор не має підстав до свого існування і не є символом України. Доходить до смішного, коли на центральних телеканалах в перерві між черговим російським серіалом та голлівудським блокбастером який-небудь ізотерик починає розповідати буцім-то всі біди України саме в тому, що кольори прапори розміщені неправильно, і «вода заливає вогонь».Та давайте спробуємо проаналізувати наш прапор з більш наукових позицій та поглянемо на його історію. Жовтий та синій кольори були одними з найбільш вживаних ще за часів Київської Русі. За однією з версій слово «хохол» походить від монгольських «хох» - небесний, блакитний та «улу» - жовтий. Це дозволило припустити що саме ці барви були символами племінних об’єднань східних слов’ян. Пізніше такі кольори часто з...

1

GeoINT за висотними будинками

З'ясовуємо точку пуску ракет  31 липня було опубліковано чергове відео обстрілу України. Відео зняте вночі і поганої якості, але чітко видно високу будівлю яка може служити хорошим орієнтиром. Висотні будівлі  у конкретному місті можна шукати як мінімум двома способами 1 Skyscrapercity.com Це ресурс про висотні будинки і хмарочоси. Ентузіасти зі всього світу обмінюються тут інформацією та систематизують її.  Про Білгород теж є окрема тема . В ній зібрано список всіх будівель вищі за 15 поверхів з лінками на фото. Поклацуємо їх всі і шукаємо схожі за обрисами. 2 overpass-turbo.eu Це ресурс на основі openstreetmaps на якому можна фільтрувати будівлі на карті за різними форматами. Переходимо на нього,  і в спеціальному полі вводимо код  [out:json][timeout:25]; (   nwr["building:levels"=Х]({{bbox}}); ); out body; >; out skel qt; де Х змінюємо на число. На мапі будуть промарковані всі будівлі з відповідної кількістю поверхів на тій частині карти яка зара...

Декомунізація в Полтаві. Коротке резюме

Create pie charts Google вже почав вносити на карти нові назви полтавських вулиць, що в сучасному світі є головним критерієм легітимізації. І оскільки головні пристрасті заспокоїлись можна тверезо оцінити результати декомунізації. Не будемо зараз зупинятись на ідеологічних питаннях. Звісно, особисто мені, неприємно, що визначальні для української історії постаті Кирила Осьмака, Василя Симоненко, Брія Горліс-Горського чи Петра Болбочан отримали малесенькі вулиці, а Міхновського взагалі проігнорували. Також дивно, що за компанію з націоналістами на задвірки міста відправили й Лева Вайнгорта, який аж ніяк не є контраверсійною фігурою для полтавців. Але це виключно суб’єктивна думка, тому краще зупинитися на кількох концептуальних моментах. По-перше дивним видається відмова від Котляревського району на користь Шевченківського. Адже Котляревський, на відміну від Кобзаря є чітким ідентифікатором Полтави по всій Україні. На території району знаходяться його сімейна садиба та могила тож...

Невинних немає

Вибух гранати під Верховною Радою пролунав аж занадто гучно. В країні де іде війна немає нічого дивного у вибуху гранати, навіть у «мирному» місті. Однак, саме ця граната стала найбільш обговорюваною. Головне питання яке у зв’язку з нею задають «Хто винен?». Кожна із сторін вказує іншу, і кожна по своєму права. Хіба не винен Порошенко який підписав кабальні Мінські угоди, які порушують територіальну цілісність України? Хіба не винні депутати які проголосували за зміни до Конституції і спровокували натовп до активних дій? Хіба не винні ті хто був проти Мінських угод і не знайшов законні способи не допустити їх підписання та імплементації? А хіба не винні ті хто весь цей час залишався байдужим? Винен кожен окремо і всі разом, а граната в центрі столиці це лише своєрідне покарання. І якщо найближчим часом кожен не зробить висновки, і не почнуться зміни на краще, то Мукачево граната під ВР скоро здадуться нам дрібницею… І наостанок, так, я теж винен, бо такий розумний і всезнаючий т...