Сделать простого бота телеграмм с копированием и выгрузкой сообщений с ссылками, и удалением старых

Рейтинг: 0Ответов: 1Опубликовано: 02.03.2023

ссылки сообщение на которое ссылается Кнопки в Controller Bot

Бот телеграмм, который будет работать в фоновом режиме и будет копировать все сообщения в указанной группе, затем удалять их и заново выкладывать в группе. повторять этот процесс каждые 24 часа. Последнее сообщение будет фотка с картинкой qr кода с группой, а под ней кнопки-ссылки на сообщения сверху для легкой ориентации(рис 1, 2). Пытаюсь реализовать через telethon. Ссылки создаю через бота подвязанного к Controller Bot. Как мне заставить взаимодействовать бота с другим ботом(нажимать на кнопочки и писать нужный текст (рис 3))

async def copy_messages():
async for message in client.iter_messages(group_main):
    # Копируем сообщение
    await client.send_message(group_with_mess, message)
    # Удаляем сообщение
    await client.delete_messages(group_main, message)
#Написать /start в бота, но как?
await client.send_message(??, '')
#Далее начинает работать в боте, как сделать правильно?
async for message in client.iter_messages(??):
    # Ищем сообщение с кнопкой "Создать пост"
    if message.text == "Создать пост":
        # Ищем кнопку в сообщении
        button = await message.get_buttons()
        # Нажимаем на кнопку
        await button[0].click()
    if message.text == "TEST":
        # Ищем кнопку в сообщении
        button = await message.get_buttons()
        # Нажимаем на кнопку
        await button[0].click()

На взаимодействии с ботом беда, да и вообще в общем и целом беда, ни разу до этого не писал ботов

Ответы

▲ 0

Ну можно взять за основу этот код, но опять же надо довести до ума Берет ссылки из source_chat_id копирует сообщения с ссылками в target_chat_id

import telegram
import time

BOT_TOKEN = 'your_bot_token_here'

# ID группы, из которой будем брать сообщения
FROM_GROUP_ID = -123456789

# ID группы, в которую будем отправлять сообщения
TO_GROUP_ID = -123456789

# Количество сообщений для копирования
MESSAGES_COUNT = 11

bot = telegram.Bot(token=BOT_TOKEN)

messages = bot.get_chat_history(chat_id=FROM_GROUP_ID, limit=MESSAGES_COUNT)
for message in messages:
    if message.text:
        bot.send_message(chat_id=TO_GROUP_ID, text=message.text)

while True:
    messages = bot.get_chat_history(chat_id=TO_GROUP_ID, limit=MESSAGES_COUNT)
    for message in messages:
        bot.delete_message(chat_id=TO_GROUP_ID, message_id=message.message_id)
    messages = bot.get_chat_history(chat_id=FROM_GROUP_ID, limit=MESSAGES_COUNT)
    for message in messages:
        if message.text:
            bot.send_message(chat_id=TO_GROUP_ID, text=message.text)
    time.sleep(24*60*60)