Сделать простого бота телеграмм с копированием и выгрузкой сообщений с ссылками, и удалением старых
Бот телеграмм, который будет работать в фоновом режиме и будет копировать все сообщения в указанной группе, затем удалять их и заново выкладывать в группе. повторять этот процесс каждые 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()
На взаимодействии с ботом беда, да и вообще в общем и целом беда, ни разу до этого не писал ботов
Ответы (1 шт):
Ну можно взять за основу этот код, но опять же надо довести до ума Берет ссылки из 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)


