Как с помощью aiogram отправить сообщение в канал Телеграм?
Хотел написать бота благодаря aiogram, который сможет отправлять сообщения в канал Телеграм. Но появилась проблема, что я вовсе не знаю, как это сделать.
Немного кода, который есть сейчас:
@dispatcher.message_handler(content_types=['text'])
async def send_message(message: types.Message):
await message.answer(chat_id='example123', text = 'Привет!')
Я не понимаю как мне через message отправить сообщение. Если у кого-то есть возможность отправьте пример кода, по отправке сообщение в Телеграм канал через aiogram.
Ответы (3 шт):
import asyncio
from aiogram import Bot, types
API_TOKEN = 'BOT TOKEN HERE'
CHANNEL_ID = <CHANNEL ID HERE> # это должен быть int, например -1006666666666
bot = Bot(token=API_TOKEN, parse_mode=types.ParseMode.HTML)
async def send_message(channel_id: int, text: str):
await bot.send_message(channel_id, text)
async def main():
await send_message(CHANNEL_ID, '<b>Hello!</b>')
if __name__ == '__main__':
asyncio.run(main())
# импортируем нужные библиотеки
from aiogram import Dispatcher, types, Bot
from aiogram.utils import executor
# твой токен который ты получишь после создания бота у @BotFather
TOKEN = 'your_token'
# объекты бота
bot = Bot(TOKEN)
dp = Dispatcher(bot
# функция которая будет слать сообщение в твою группу
@dp.message_handler(commands = ['start'])
async def main(message: types.Message):
# строка, чтобы отправить что-нибудь в группу
await bot.send_message(chat_id, 'Hello World')
# запускаем бота
executor.start_polling(dp)
для того чтобы узнать id чата, введи код ниже в функцию выше вместо строки чтобы отправить что-нибудь в группу, id чата должен будет прийти тебе в лс
await bot.send_message(message.from_user.id, message.chat.id)
В message.answer нужно передать id канала в chat_id=*id канала*
Чтобы узнать id канала, можно переслать сообщение с канала боту @userinfobot и он даст id, только в начале обязательно должен стоять симолв минус -.