Помогите советом, по чат боту

goodenoff

Местный
Сообщения
700
Реакции
635
Есть идея в телеге создать чат, но что бы написанные сообщения не попадали изначально для всеобщего просмотра. А их можно было прочитать только нажав на кнопку "посмотреть"? "Посмотреть 10 шт", "ещё 10 шт"ну в этом роде


А тому кто может написать, написание сообщения через кнопку " Поделиться сообщением "

И что бы тот кто нажимает прочитать 10 сообщений, можно было добавить рекламный баннер ну состоящий из текста, ссылки , картинки

Идея создать чат бот , анти ГАИ, для нескольких городских локаций.


покидайте ссылок или советов, за ранее всему люду благодарность от души
 
А с чем именно нужно помочь можно поподробнее?
 
Чат такой не написать, а вот бота через которого возможно реализовать нечто подобное можно. Но скорее всего не без костылей.
Сообщение обновлено:

import logging
from aiogram import Bot, Dispatcher, types
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from aiogram.dispatcher import filters
from aiogram.utils import executor

API_TOKEN = 'YOUR_BOT_TOKEN'
bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

logging.basicConfig(level=logging.INFO)


# Список для хранения сообщений
messages = []

# Количество сообщений, отображаемых за раз
MESSAGES_PER_PAGE = 10


@dp.message_handler(commands=['start'])
async def start_command(message: types.Message):
await message.reply("Привет! Я бот для работы с сообщениями.")


@dp.message_handler(filters.Text & ~filters.Command())
async def share_message(message: types.Message):
message_text = message.text
messages.append(message_text)
await message.reply("Сообщение добавлено.")


@dp.message_handler(commands=['read'])
async def read_messages(message: types.Message):
chat_id = message.chat.id
page = message.get('page', 0)
start_index = page * MESSAGES_PER_PAGE
end_index = start_index + MESSAGES_PER_PAGE

if start_index < len(messages):
for i in range(start_index, min(end_index, len(messages))):
await message.reply(messages)

if end_index < len(messages):
keyboard = [
[InlineKeyboardButton("Ещё 10 сообщений", callback_data='next')]
]
reply_markup = InlineKeyboardMarkup(inline_keyboard=keyboard)
await message.reply("Выберите действие:", reply_markup=reply_markup)
else:
await message.reply("Сообщений больше нет.")


@dp.callback_query_handler(lambda callback_query: callback_query.data == 'next')
async def button_callback(callback_query: types.CallbackQuery):
page = callback_query.get('page', 0) + 1
await dp.storage.update_data(callback_query.from_user.id, page=page)
await read_messages(callback_query.message)


if __name__ == '__main__':
from aiogram import executor
executor.start_polling(dp, skip_updates=True)

Как то так наверное, примерно....
В этом примере, бот регистрирует сообщения добавляя их в список messages. Когда пользователь вводит команду /read, бот выводит определенное количество сообщений с использованием кнопки "Ещё 10 сообщений".
 
Последнее редактирование:
Назад
Сверху Снизу