Aiogram bot.sendMessage
Помогите разобраться.
main.py
bot = Bot(token="..")
dp = Dispatcher()
dp.include_router(user_router)
user_router.py
@router.message(F.text.in_(someVar))
async def someDef(message: Message):
await message.answer(text="text")
await bot.sendMessage(chat_id="", text="")
не могу понять как вне main файла использовать bot с его методами. Для удобства проэкт разбит на несколько файлов.
Задача: бот общается с пользователем в личном чате. Пользователь что-то выбирает и в этот момент бот отправляет краткую выдержкуу в отдельный канал.
Пример: пользователю нужно запустить скрипт на сервере. Бот через меню уточняет параметры. Послие выборки параметров бот пишет в ЛС что начал делать, и в этот же момент в статически заданный канал присылается инфа "Пользователь Вася запустил someScript на сервере таком-то."
Ответы (1 шт):
Импортируем модули (Bot где он будет использоваться, а DefaultBotProperties в main.py)
from aiogram import Bot
from aiogram.client.default import DefaultBotProperties
Добавляем дефолтный parse mode в main.py
bot = Bot(token="..", default=DefaultBotProperties(parse_mode=ParseMode.HTML)))
Твой измененный someDef:
@router.message(F.text.in_(someVar))
async def someDef(message: Message, bot: Bot):
mention = f'<a href="tg://user?id={message.from_user.id}">{message.from_user.first_name}</a>'
server = "пельмени"
script = "майонез"
await message.answer(text="text")
await bot.send_message(chat_id=-100XXXXXX,f"Пользователь {mention} запустил скрипт {script} на сервере {server}")
Где chat_id=-100XXXXX вставляешь айди чата, но не убирай -100 в начале.
Также если захотишь отправлять в отдельную тему супергруппы, то добавь в bot.send_message
message_thread_id=Айди темы