Как сделать так чтобы сообщение которое ты написал например /ask Отправлялось в нужную группу по чат-id
Я делаю бота мафию и добавляю функции например Писать от имени Админа и вопрос как сделать чтобы например /ask Тест отправлялся в нужную группу?
Ответы (1 шт):
@bot.message_handler(commands=['ask'])
def ask(message):
msg = bot.send_message(message.chat.id, 'что отправить?')
bot.register_next_step_handler(msg, ask_2)
def ask_2(message):
bot.send_message(-1...5, message.text) # id группы или канала именно с дефисом
чтобы отправлять ботом сообщения в группу/канал бот должен быть участником канала и иметь разрешение на публикацию сообщений.
так же вам нужно знать id группы/канала, получить его можно:
import logging
logger = telebot.logger
telebot.logger.setLevel(logging.DEBUG)
- у
BotFatherв/setjoingroupsвыбратьEnable - добавьте бота в группу/канал
- назначьте его администратором
- отправьте в канал сообщение, например
/start
в консоли вы должны увидеть примерно следующее:
2020-05-04 20:57:03,847 (apihelper.py:55 PollingThread) DEBUG - TeleBot: "The server returned: 'b'{"ok":true,"result":[{"update_id":661653078,\n"channel_post":{"message_id":4276,"chat":{"id":-100...413,"title":"%name channel%","type":"channel"},"date":1588615023,"text":"/start","entities":[{"offset":0,"length":6,"type":"bot_command"}]}}]}''"
где id: -100...413 и есть id группы/канала