OverflowError: int too big to convert
Хочу написать простого телеграм-бота, чтобы можно было использовать @all как во вконтакте, но столкнулся с такой ошибкой.
Подскажите, пожалуйста, как это решить.
TgCrypto is missing! Pyrogram will work the same, but at a much slower speed. More info: https://docs.pyrogram.org/topics/speedups
Task exception was never retrieved
future: <Task finished name='Task-7' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=OverflowError('int too big to convert')>
Traceback (most recent call last):
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:/Users/User/Desktop/allBot/main.py", line 9, in process_start_command
print(await get_chat_members(message.chat.id))
File "C:\Users\User\Desktop\allBot\pyogram.py", line 8, in get_chat_members
await app.start()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\methods\utilities\start.py", line 58, in start
is_authorized = await self.connect()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\methods\auth\connect.py", line 47, in connect
await self.session.start()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 149, in start
raise e
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 120, in start
await self.send(
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 318, in send
message = self.msg_factory(data)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\internals\msg_factory.py", line 37, in __call__
len(body)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\core\tl_object.py", line 79, in __len__
return len(self.write())
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\functions\invoke_with_layer.py", line 78, in write
b.write(self.query.write())
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\functions\init_connection.py", line 128, in write
b.write(Int(self.api_id))
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\core\primitives\int.py", line 33, in __new__
return value.to_bytes(cls.SIZE, "little", signed=signed)
OverflowError: int too big to convert
Task exception was never retrieved
future: <Task finished name='Task-82' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=OverflowError('int too big to convert')>
Traceback (most recent call last):
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:/Users/User/Desktop/allBot/main.py", line 9, in process_start_command
print(await get_chat_members(message.chat.id))
File "C:\Users\User\Desktop\allBot\pyogram.py", line 8, in get_chat_members
await app.start()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\methods\utilities\start.py", line 58, in start
is_authorized = await self.connect()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\methods\auth\connect.py", line 47, in connect
await self.session.start()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 149, in start
raise e
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 120, in start
await self.send(
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 318, in send
message = self.msg_factory(data)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\internals\msg_factory.py", line 37, in __call__
len(body)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\core\tl_object.py", line 79, in __len__
return len(self.write())
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\functions\invoke_with_layer.py", line 78, in write
b.write(self.query.write())
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\functions\init_connection.py", line 128, in write
b.write(Int(self.api_id))
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\core\primitives\int.py", line 33, in __new__
return value.to_bytes(cls.SIZE, "little", signed=signed)
OverflowError: int too big to convert
Task exception was never retrieved
future: <Task finished name='Task-87' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=OverflowError('int too big to convert')>
Traceback (most recent call last):
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:/Users/User/Desktop/allBot/main.py", line 9, in process_start_command
print(await get_chat_members(message.chat.id))
File "C:\Users\User\Desktop\allBot\pyogram.py", line 8, in get_chat_members
await app.start()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\methods\utilities\start.py", line 58, in start
is_authorized = await self.connect()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\methods\auth\connect.py", line 47, in connect
await self.session.start()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 149, in start
raise e
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 120, in start
await self.send(
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 318, in send
message = self.msg_factory(data)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\internals\msg_factory.py", line 37, in __call__
len(body)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\core\tl_object.py", line 79, in __len__
return len(self.write())
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\functions\invoke_with_layer.py", line 78, in write
b.write(self.query.write())
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\functions\init_connection.py", line 128, in write
b.write(Int(self.api_id))
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\core\primitives\int.py", line 33, in __new__
return value.to_bytes(cls.SIZE, "little", signed=signed)
OverflowError: int too big to convert
Task exception was never retrieved
future: <Task finished name='Task-130' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=OverflowError('int too big to convert')>
Traceback (most recent call last):
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:/Users/User/Desktop/allBot/main.py", line 9, in process_start_command
print(await get_chat_members(message.chat.id))
File "C:\Users\User\Desktop\allBot\pyogram.py", line 8, in get_chat_members
await app.start()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\methods\utilities\start.py", line 58, in start
is_authorized = await self.connect()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\methods\auth\connect.py", line 47, in connect
await self.session.start()
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 149, in start
raise e
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 120, in start
await self.send(
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\session.py", line 318, in send
message = self.msg_factory(data)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\session\internals\msg_factory.py", line 37, in __call__
len(body)
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\core\tl_object.py", line 79, in __len__
return len(self.write())
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\functions\invoke_with_layer.py", line 78, in write
b.write(self.query.write())
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\functions\init_connection.py", line 128, in write
b.write(Int(self.api_id))
File "C:\Users\User\Desktop\allBot\venv\lib\site-packages\pyrogram\raw\core\primitives\int.py", line 33, in __new__
return value.to_bytes(cls.SIZE, "little", signed=signed)
OverflowError: int too big to convert
from aiogram import Bot, Dispatcher,executor, types
chat_id=""
bot = Bot(token="")
dp = Dispatcher(bot)
@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
from pyogram import get_chat_members
print(await get_chat_members(message.chat.id))
executor.start_polling(dp)
from pyrogram import Client
api_id =
api_hash = ""
bot_token = ""
async def get_chat_members(chat_id):
app = Client("Имя | Бот", api_id=api_id, api_hash=api_hash, bot_token=bot_token, in_memory=True, dtype)
chat_members = []
await app.start()
async for member in app.get_chat_members(chat_id):
chat_members = chat_members + [member.user.id]
await app.stop()
print(chat_members)
return chat_members
Ответы (1 шт):
Автор решения: m9_psy
→ Ссылка
Похоже на опечатку в api_id. Исходники класса Int: https://github.com/pyrogram/pyrogram/blob/efac17198b5fcaec1c2628c4bba0c288a4d617d4/pyrogram/raw/core/primitives/int.py#L25
Можно провести аналогию с тем, что исполняется в библиотеке:
(512).to_bytes(4, 'little') # Хорошо
(9999999999).to_bytes(4, 'little') # Ошибка
api_id не влезает в 4 байта - значит он был неправильно скопирован или перепутан с чем-то другим