3 / 2 / 1
Регистрация: 13.04.2020
Сообщений: 49
Telegram Bot

telebot + telethon

25.07.2020, 13:12. Показов 10486. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Учусь делать ботов, хотел сделать бота, который при вводе команды выдаёт id всех подписчиков канала, для этого использовал библиотеки telebot и telethon. Код выдаёт ошибку: RuntimeWarning: Enable tracemalloc to get the object allocation traceback. Погуглив, натолкнулся на такое понятие, как асинхронность. В ней ли тут дело? Если это так, можно ли тогда без неё обойтись?

Кликните здесь для просмотра всего текста
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
from telethon import TelegramClient
import telebot
 
bot = telebot.TeleBot('TOKEN')
 
api_id = 'api_id'
api_hash = 'api_hash'
client = TelegramClient('getMembers', api_id, api_hash)
 
 
def get_all_id():
    client.start()
    id_list = []
    channel = 'channel'
    users = client.get_participants(channel, aggressive=True)
    for u in users:
        id_list.append(u.id)
    return id_list
    client.disconnect()
 
 
@bot.message_handler(commands=['idlist'])
def get_id_list(message):
    try:
        id_list = get_all_id()
        bot.send_message(message.chat.id, id_list)
    except:
        bot.send_message(message.chat.id, 'Не удалось получить список.')
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.07.2020, 13:12
Ответы с готовыми решениями:

Постоянная ошибка AttributeError: module 'telebot' has no attribute 'Telebot'. Did you mean: 'TeleBot'?
Учусь делать бота в телегу Вылезла такая ошибка AttributeError: module 'telebot' has no attribute 'Telebot'. Did you mean: 'TeleBot'? ...

AttributeError: partially initialized module 'telebot' has no attribute 'TeleBot' (most likely due to a circular import)
Доброго времени суток! Учусь писать ботов для телеграма. Всё сделал правильно. Модуль установлен но вылетает следующая ошибка. $ python...

AttributeError: module 'telebot' has no attribute 'TeleBot'
Доброго времени суток, уважаемые форумчане! Прошу помощи в элементарной для опытного программиста задаче, т.к. уже не знаю что делать....

3
3 / 2 / 1
Регистрация: 13.04.2020
Сообщений: 49
26.07.2020, 07:44  [ТС]
Можете не писать, что я такой-сякой плохо изучил документацию, сам понял.
Так как Telethon является асинхронной библиотекой, вам нужно дождаться выполнения сопрограммных функций для их запуска (или иначе запустить цикл, пока они не будут завершены). В этом крошечном примере мы не потрудились сделать асинхронный def main ().
Чтож, пришло время изучать асинхронное программирование .
0
-6 / 4 / 2
Регистрация: 01.01.2019
Сообщений: 79
05.08.2020, 16:17
Лучший ответ Сообщение было отмечено Zymnya_Palma как решение

Решение

Цитата Сообщение от Zymnya_Palma Посмотреть сообщение
асинхронность. В ней ли тут дело?
Да, телебот - синхронная либа (на которую кстати разрабы давно забили хер и вобще она плохая)
телетон - асинхронная либа. Они несовместимы.
Есть 2 варианта:
1 - заменить телетон на синхронный пирограм
2 - заменить телебот на аиограм
1
3 / 2 / 1
Регистрация: 13.04.2020
Сообщений: 49
17.08.2020, 07:44  [ТС]
Много времени прошло , всё равно спасибо за ответ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2020, 07:44
Помогаю со студенческими работами здесь

Module 'telebot' has no attribute 'Telebot'
всем доброго времени суток! Решил я начать учить Python. и прямо с первых дней попал на ошибку,которую сам не в состоянии пока что решить. ...

Django и telethon
Приветы. Короче суть задачи такая: при размещении новой публикации в одном из нескольких каналов телеги выдергивать ее и размещать на...

telethon, telegram api
Всем привет, пишу бота телеграмм использую апи для получения списка пользователей группы, но почему то некоторые группы удается получить...

Telethon ловить новые сообщения в группе
client = TelegramClient(name, api_id, api_hash) client.start() @client.on(events.NewMessage(chats=(chat_name))) def...

Telethon. Как получить сообщения из приватного чата?
Все остальные сообщения я получать научился. А вот из приватного ни в какую. Делаю peer = await client.get_entity(id) Потом ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru