-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbot.py
More file actions
43 lines (33 loc) · 1.64 KB
/
bot.py
File metadata and controls
43 lines (33 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# Импортируем нужные компоненты
import logging
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import settings
logging.basicConfig(filename='bot.log', level=logging.INFO)
# Настройки прокси
PROXY = {'proxy_url': settings.PROXY_URL,
'urllib3_proxy_kwargs': {
'username': settings.PROXY_USERNAME,
'password': settings.PROXY_PASSWORD
}
}
def greet_user(update, context):
print('Вызван /start')
update.message.reply_text('Привет, пользователь! Я пока еще ничего не умею, но могу сказать, что ты только что вызвал команду /start')
def talk_to_me(update, context):
user_text = update.message.text
print(user_text)
update.message.reply_text(user_text)
def main():
# Создаем бота и передаем ему ключ для авторизации на серверах Telegram
mybot = Updater(settings.API_KEY, use_context=True, request_kwargs=PROXY)
dp = mybot.dispatcher
dp.add_handler(CommandHandler("start", greet_user))
dp.add_handler(MessageHandler(Filters.text, talk_to_me))
logging.info("Бот стартовал")
# Командуем боту начать ходить в Telegram за сообщениями
mybot.start_polling()
# Запускаем бота, он будет работать, пока мы его не остановим принудительно
mybot.idle()
# Вызываем функцию main() - именно эта строчка запускает бота
if __name__ == "__main__":
main()