Почему бот не пересылает сообщение в канал?

Помогите, пожалуйста, почему бот не пересылает сообщение в канал? Он должен после того, как пользователь ввел реквизиты, пересылать это сообщение:

# Обработка ввода суммы и реквизитов для вывода
@dp.message_handler(lambda message: message.text.startswith(('Qiwi', 'Pistrix', 'ЮMoney', 'FK Wallet')))
async def withdraw_info_handler(message: types.Message):
    user_id = message.from_user.id
    withdraw_info = message.text

    # Получаем username пользователя
    username = message.from_user.username

    # ID канала, куда будем отправлять сообщение (замените на свой)
    channel_id = '@vivoddeneg1232'

    # Формируем сообщение для отправки в канал
    forward_message = f"Сообщение от {username}:\n\n{withdraw_info}"

    try:
        # Отправляем сообщение в канал
        await bot.send_message(chat_id=channel_id, text=forward_message)
        # Отправляем пользователю подтверждение вывода
        await bot.send_message(user_id, "Ваш запрос на вывод получен. Ожидайте обработки.")
    except Exception as e:
        # Обработка ошибок при отправке
        await bot.send_message(user_id, f"Произошла ошибка при отправке сообщения в канал. {e}")

Ответы (1 шт):

Автор решения: Zailox

channel_ID должен быть в виде числа, для пользователей это обычно 1234567.., а для групп -1234567889...., channel_id вашего канала -1002144004014. Чтобы его узнать нужно использовать бота, например @FIND_MY_ID_BOT (НЕ РЕКЛАМА) и переслать в него сообщение.

Я протестировал твой код и написал id полученный в боте, всё работает, вот мой код:

import aiogram
from aiogram import types
from aiogram.utils import executor
import random
import asyncio
import random

TOKEN = '62675ххххх:AAEgXnukJfххххххххххххххххххххххххх'

bot = aiogram.Bot(token=TOKEN)
dp = aiogram.Dispatcher(bot)

# Обработка ввода суммы и реквизитов для вывода
@dp.message_handler(lambda message: message.text.startswith(('Qiwi', 'Pistrix', 'ЮMoney', 'FK Wallet')))
async def withdraw_info_handler(message: types.Message):
    user_id = message.from_user.id
    withdraw_info = message.text

    # Получаем username пользователя
    username = message.from_user.username

    # ID канала, куда будем отправлять сообщение (замените на свой)
    channel_id = '6444хххххх'

    # Формируем сообщение для отправки в канал
    forward_message = f"Сообщение от {username}:\n\n{withdraw_info}"

    try:
        # Отправляем сообщение в канал
        await bot.send_message(chat_id=channel_id, text=forward_message)
        # Отправляем пользователю подтверждение вывода
        await bot.send_message(user_id, "Ваш запрос на вывод получен. Ожидайте обработки.")
    except Exception as e:
        # Обработка ошибок при отправке
        await bot.send_message(user_id, f"Произошла ошибка при отправке сообщения в канал. {e}")

# Start bot
if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)

Попробуй его, вставь в поле TOKEN токен бота и в поле channel_id id, полученный в мной указанном боте.

→ Ссылка