@maksim4ik69

Как сделать чтобы тг бот скидал действия пользователей в отдельный тг чат и я смог отвечать на сообщения, например тех.поддержка?

Как сделать чтобы тг бот скидал действия пользователей в отдельный тг чат и я смог отвечать на сообщения, например мне задали вопрос в тех.поддержку, бот отправил в тг чат и я смог ответить от лица бота, в случае если это не возможно, то нужно что бы бот просто отправлял сообщения с действиями пользователя в чат(типо какую кнопку нажал, что написал и тд)

Не могу с foward разобраться, желательно чтобы после того как человек отправит мне скрин либо номер карты оно приходило мне в тг чат в отделе "Продать SWT" а не все действия.
фовард сделал сам, но он тупо не работает
вот фулл код кому нужно)
spoiler
import telebot
from telebot import types

kyrs = 0.9



bot = telebot.TeleBot("")


	bot.forward_message(
       chat_id=-791963896,  # chat_id чата в которое необходимо переслать сообщение, в твоем случание чат, куда ты хочешь пересилать отзывы
       from_chat_id=5632565514,  # chat_id из которого необходимо переслать сообщение
       message_id=msg.message_id  # message_id которое необходимо переслать
       )

bot.polling(none_stop = True)
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@paxa-1331
Я бы действия записал в лист (допустим 10 последних, если выводить больше, то это треш)

А сама поддержка реализована так:

###---Чат для отправки заявок в поддержку---###
SUPPORT = -791963896

@dp.message_handler(content_types=['text'], text=('Поддержка'))
async def name(message: types.Message, state: FSMContext):
    await bot.send_message(message.chat.id, "Введите своё имя:",reply_markup=kb.back1)
    # Переходим на следующий стейт
    await Anketa.name.set()
# Вы можете использовать состояние '*', если вам нужно обработать все состояния
@dp.message_handler(state='*', content_types=['text'], text='❌ Отменить ❌')
@dp.message_handler(Text(equals='❌ Отменить ❌', ignore_case=True), state='*')
async def cancel_handler(message: types.Message, state: FSMContext):
    """
    Разрешить пользователю отменить любое действие
    """
    current_state = await state.get_state()
    if current_state is None:
        return

    logging.info('Cancelling state %r', current_state)
    # Отменить состояние и сообщить об этом пользователю
    await state.finish()
    # И снимите клавиатуру (на всякий случай)
    await message.reply('Хорошо, отменил', reply_markup=types.ReplyKeyboardRemove())
    await message.answer('Главное меню ❗️',reply_markup=kb7.start_kb())


@dp.message_handler(state=Anketa.name, content_types=types.ContentTypes.TEXT)
async def age(message: types.Message, state: FSMContext):
    # Записываем ответ в storage
    await state.update_data(name=message.text)
    await bot.send_message(
        message.chat.id, "Введите Ваш телефон (внутренний или мобильный)",reply_markup=kb.back1
    )
    await Anketa.namee.set()
@dp.message_handler(content_types=['text'], text='Отправить', state=Anketa.namee)
await state.update_data(namee=message.text)
data = await state.get_data()
    await bot.send_message(
        SUPPORT,
        f"<b>!Получена заявка \nID: </b>{message.chat.id}\n<b>От:</b> @{message.from_user.username}   <a href='tg://user?id={message.from_user.id}'>{quote_html(message.from_user.full_name)}</a>\n"
        f'<b>Имя:</b> {data.get("name")}\n'
        f'<b>Номер телефона:</b> {data.get("namee")}\n',reply_markup=kb.fun(message.chat.id), parse_mode='HTML'
    )


Если не понятно - пиши.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы