from telegram import Update, Bot
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext
# Настройки
TOKEN = 'YOUR_BOT_TOKEN'
GROUP_ID = -1001234567890 # ID группы, куда нужно пересылать сообщения
active_users = {} # Словарь для отслеживания пользователей, у которых активна пересылка
# Команда для включения пересылки
def start_forwarding(update: Update, context: CallbackContext):
user_id = update.message.from_
user.id active_users[user_id] = True
update.message.reply_text('Пересылка сообщений включена. Ваши сообщения будут отправлены в группу.')
# Команда для выключения пересылки
def stop_forwarding(update: Update, context: CallbackContext):
user_id = update.message.from_
user.id if user_id in active_users:
del active_users[user_id]
update.message.reply_text('Пересылка сообщений выключена.')
else:
update.message.reply_text('Пересылка не была активирована.')
# Обработка обычных сообщений
def forward_message(update: Update, context: CallbackContext):
user_id = update.message.from_
user.id # Проверка, включена ли пересылка для пользователя
if user_id in active_users:
# Пересылаем сообщение в группу
bot =
context.bot message = update.message.text
bot.send_message(chat_id=GROUP_ID, text=f"Сообщение от {update.message.from_user.full_name}: {message}")
# Запоминаем ID оригинального сообщения для ответа
context.user_data['last_message_id'] = update.message.message_id
# Обработка сообщений из группы (ответы)
def handle_group_message(update: Update, context: CallbackContext):
if update.message.reply_to_message: # Проверяем, является ли сообщение ответом
original_message = update.message.reply_to_message.text
user_fullname = original_message.split(':')[0].replace('Сообщение от ', '')
message_text = update.message.text
# Отправляем ответ пользователю
bot =
context.bot for user_id, active in active_users.items():
if active and
context.bot .get_chat(user_id).full_name == user_fullname:
bot.send_message(chat_id=user_id, text=f"Ответ из группы: {message_text}")
# Главная функция
def main():
updater = Updater(TOKEN, use_context=True)
dp = updater.dispatcher
# Обработчики команд
dp.add_handler(CommandHandler("start_forwarding", start_forwarding))
dp.add_handler(CommandHandler("stop_forwarding", stop_forwarding))
# Обработчики сообщений
dp.add_handler(MessageHandler(Filters.text & ~Filters.command, forward_message)) # Пересылка сообщений от пользователей
dp.add_handler(MessageHandler(Filters.text & Filters.chat(GROUP_ID), handle_group_message)) # Ответы из группы
# Запуск бота
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()