Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 9
1

Создаю бота, ругается питон

03.10.2019, 19:41. Показов 1043. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем, пытаюсь написать бота для телеграмма, все вроде бы неплохо, но при запуске программы начинает ругаться, и никак не пойму, что ему нужно
Python
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import logging
 
from proxy import ProxyManager
 
from bot_handler import BotHandler
 
# https://api.telegram.org/bot905781067:AAGR8Uf7OBGOlW0kLAUAjUNI-xPxzJ7-cpM/getUpdates
token = '905781067:AAGR8Uf7OBGOlW0kLAUAjUNI-xPxzJ7-cpM'
 
 
def init_logger():
    logger = logging.getLogger('bot')
    logger.setLevel(logging.DEBUG)
    formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s')
 
    console = logging.StreamHandler()
    console.setLevel(logging.DEBUG)
    console.setFormatter(formatter)
 
    filehandler = logging.FileHandler('logger.log')
    filehandler.setLevel(logging.DEBUG)
    filehandler.setFormatter(formatter)
 
    logger.addHandler(console)
    logger.addHandler(filehandler)
 
 
def main():
    init_logger()
 
    logging.getLogger('bot').info('start ' + 15*'=')
 
    pm = ProxyManager(timeout=0.5) # , host_and_port=('142.93.109.250', '3128'))
    bot = BotHandler(token, proxymanager=pm)
    offset = None
 
    while True:
        updates = bot.get_updates(offset)
        if updates:
            logging.getLogger('bot').debug('New messages: ' + str(len(updates)))
            offset = int(updates[-1]['update_id']) + 1
 
            for update in updates:
                update_text = update['message']['text']
                update_chat_id = update['message']['chat']['id']
                update_chat_name = update['message']['chat']
 
                logging.getLogger('bot').debug(
                    str(update_chat_name['username']) + ' | ' +
                    str(update_text)
                )
 
                bot.send_message(update_chat_id, bot.generate_answer(update_text))
 
 
if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        logging.getLogger('bot').info('exit: KeyboardInterrupt')
        exit()

вот ошибка
http://c2n.me/43UjF9
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2019, 19:41
Ответы с готовыми решениями:

Создаю бота Телеграмм
import token import json import requests token = token.token URL =...

Создаю бота, работа с текстом
Создаю бота - Викторина. Задаю пользователю вопрос, он должен ответить на него в течение...

Создаю бота
Я создаю своего не до бота и тк я только изучаю C# я ничего не знаю. Я мскал в интернете как...

Ругается компилятор, если создаю функцию за пределами главного файла!
Вот что пишет компилятор 1>------ Построение начато: проект: nasledovatlenostj, Конфигурация:...

Почему ругается компилятор? (Питон, Функции)
#l11_ex_01_def.py def hello(name, eyes, old): print('Привет, '+ name + '!') print('Привет, '...

10
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
03.10.2019, 19:43 2
Цитата Сообщение от Ponimau Посмотреть сообщение
вот ошибка
http://c2n.me/43UjF9
файла нет, приложи ошибку текстом и целиком, а за токен - спасибо))
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 9
03.10.2019, 19:50  [ТС] 3
Добавлено через 3 минуты
Цитата Сообщение от Welemir1 Посмотреть сообщение
файла нет, приложи ошибку текстом и целиком, а за токен - спасибо))
2019-10-03 22:48:15,513 INFO proxy finded: ('51.158.111.229', '8811')
2019-10-03 22:49:17,587 DEBUG New messages: 1
Traceback (most recent call last):
File "C:/Users/Vadimushka/Гапонов/lr 6/BOBOBOT/main.py", line 58, in <module>
main()
File "C:/Users/Vadimushka/Гапонов/lr 6/BOBOBOT/main.py", line 49, in main
str(update_chat_name['username']) + ' | ' +
KeyError: 'username'
0
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
03.10.2019, 19:52 4
Ponimau, Вадимушка Гапонов, короче в update_chat_name нет ключа username. Почему - не знаю. Выведи в консоль update_chat_name перед строкой, где падает ошибка, чтобы посмотреть что там.
Я бы посоветовал отладчик использовать, но зная средний уровень ботописцев...
0
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.10.2019, 07:15 5
Стоп! Мне страшно. "C:/Users/Vadimushka/Гапонов/lr 6/BOBOBOT/main.py". Это что, сокращение от Лабораторная Работа 6? То есть теперь в универах учат писать ботом для телеграма?!
0
Welemir1
04.10.2019, 07:36
  #6

Не по теме:

Damenikx, ох щит! я и не заметил, опять что-то новое узнаем об образовании, недвано тут чувачок отписался что им дали задание создать тему на форуме) А теперь боты... И это при том что регулярно приходят люди которые не знают как найти середину в строке, как проверить что треугольник прямоугольный... Ладно хоть ты радуешь успехами))

0
Damenikx
04.10.2019, 08:05
  #7

Не по теме:

Welemir1,

Цитата Сообщение от Welemir1 Посмотреть сообщение
Ладно хоть ты радуешь успехами
, до слёз :)))

0
Модератор
Эксперт Python
2689 / 1595 / 513
Регистрация: 21.02.2017
Сообщений: 4,209
Записей в блоге: 1
04.10.2019, 09:18 8
Ponimau, как обычно..

1) Открываем документацию.
2) Видим что этот параметр опциональный.
3) Долго думаем, гуглим что такое "опциональный", снова думаем.
4) Еще думаем.
5) А, понял.

Добавлено через 2 минуты

Не по теме:

Damenikx, в моем универе мне ставят 3 за то что я скрипт вывода четных чисел написал в одну строчку, а не в 2. :(

0
droider
04.10.2019, 09:21
  #9

Не по теме:

Цитата Сообщение от Welemir1 Посмотреть сообщение
чувачок отписался что им дали задание создать тему на форуме
ниче се))) За те годы, что я на этом форуме, тут в этом столько "мастеров" повидал)))))

0
Welemir1
04.10.2019, 09:25
  #10

Не по теме:

Цитата Сообщение от droider Посмотреть сообщение
тут в этом столько "мастеров"
это преподаватели того чувачка))))

0
Эксперт Pascal/Delphi
4912 / 2781 / 853
Регистрация: 04.10.2012
Сообщений: 10,121
04.10.2019, 09:29 11

Не по теме:

Цитата Сообщение от Damenikx Посмотреть сообщение
То есть теперь в универах учат писать ботом для телеграма?!
А я то думал, почему многие с ходу лезут писать ботов, брутфорсеры и пр., не зная основ. Теперь ясно ...



Добавлено через 48 секунд

Не по теме:

Цитата Сообщение от Welemir1 Посмотреть сообщение
это преподаватели того чувачка
не удивлюсь))

0
04.10.2019, 09:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2019, 09:29
Помогаю со студенческими работами здесь

Задача: Взять заданную строку в кавычки вида «» . можно ли сразу решение и листинг пж . питон. код питон питон
Взять заданную строку в кавычки вида «» .

Почему vk ругается на бесплатные хостинги? На какие не ругается?
Здравствуйте, Что нужно сделать, чтобы vk не ругался на бесплатный хостинг? Я нашёл отличный...

Вывести данные из ВК бота в телеграмм бота
Добрый день, не могу вывести данные, а точнее посты с группы, из бота вк в телеграмм бота. Как...

Преобразование питон 2 в питон 3
У меня есть код питон 2.7 что в нем надо изменить чтобы он работал в питон 3.7 import numpy as np...

Для ТГ бота нужно сделать вызывающийся список дат , чтобы юзер по команде получал список дат с мероприятиями у бота
Для ТГ бота нужно сделать вызывающийся список дат , чтобы юзер по команде получал список дат с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru