Revert "Третий коммит, добавление share, share_kb, а также ADMIN_ID"

This reverts commit b98123f4dc.
This commit is contained in:
2025-07-22 13:56:33 +03:00
parent b98123f4dc
commit 8ddd4e6940
1479 changed files with 11 additions and 323549 deletions

View File

@@ -1,16 +1,10 @@
import asyncio
from aiogram import F, Router, Bot
from aiogram.filters import CommandStart, Command, CommandObject
from aiogram import F, Router
from aiogram.filters import CommandStart, Command
from aiogram.types import Message, CallbackQuery
from aiogram.enums import ParseMode
from aiogram.fsm.state import State, StatesGroup
from aiogram.fsm.context import FSMContext
import app.keyboard as kb
import app.debug_kb as debug_kb
import sqlite3
import app.share
from random import randint
from config import ADMIN_ID, TOKEN
router = Router()
@@ -28,45 +22,8 @@ async def cmd_start(message: Message):
cur.execute(insert_user, val)
cur.execute("SELECT * FROM users")
#print(cur.fetchall())
base.commit()
base.close()
await message.answer("тестовый ответ")
@router.message(Command("echo"))
async def echo(message: Message):
"""Повторяет сообщение пользователя."""
await message.reply(message.text)
# @router.message(Command("test"))
# async def echo(message: Message):
# await message.answer("")
# await message.reply(message.text)
@router.message(Command("shareold"))
async def share(message: Message, bot: Bot):
if message.from_user.id == ADMIN_ID:
base = sqlite3.connect('users.db')
cur = base.cursor()
cur.execute("SELECT id FROM users")
users_id = cur.fetchall()
for users in users_id:
user = users[0]
await bot.send_message(user, 'тестовая рассылка')
print(user)
base.commit()
base.close()
else:
await message.answer("вы не администратор")
await message.answer("тестовый ответ")

View File

@@ -1,23 +0,0 @@
from aiogram.types import (
ReplyKeyboardMarkup,
KeyboardButton,
InlineKeyboardButton,
InlineKeyboardMarkup
)
from aiogram.utils.keyboard import ReplyKeyboardBuilder
# # тестовая клавиатура, может быть потом удалена
# test_kb = ReplyKeyboardMarkup(keyboard=
# [
# [
# KeyboardButton(text='кнопка1'),
# KeyboardButton(text="кнопка2")
# ]
# [
# KeyboardButton(text="test")
# ],
# ],
# resize_keyboard=True,
# one_time_keyboard=True,
# input_field_placeholder='тестовый ввод',
# selective=True)

View File

@@ -1,104 +0,0 @@
import asyncio
from aiogram import F, Router, Bot
from aiogram.filters import CommandStart, Command, CommandObject
from aiogram.types import ContentType
from aiogram.types import Message, CallbackQuery
from aiogram.types import ReplyKeyboardRemove, InputMediaPhoto
from aiogram.enums import ParseMode
from aiogram.fsm.state import State, StatesGroup
from aiogram.fsm.context import FSMContext
import app.share_kb as share_kb
import sqlite3
from random import randint
from config import ADMIN_ID, TOKEN
share_router = Router()
class Share(StatesGroup):
share_begin = State()
share_msg = State()
async def send_media(bot: Bot, chat_id: int, message: Message):
"""Функция для точной пересылки сообщения без изменений"""
if message.photo:
await bot.send_photo(
chat_id=chat_id,
photo=message.photo[-1].file_id,
caption=message.caption
)
elif message.video:
await bot.send_video(
chat_id=chat_id,
video=message.video.file_id,
caption=message.caption
)
elif message.document:
await bot.send_document(
chat_id=chat_id,
document=message.document.file_id,
caption=message.caption
)
elif message.text:
await bot.send_message(
chat_id=chat_id,
text=message.text
)
@share_router.message(Command('share'))
async def start_share(message: Message, state: FSMContext):
if message.from_user.id == ADMIN_ID:
await message.answer("🤔вы уверены что хотите начать рассылку?", reply_markup=share_kb.share_starting)
else:
await message.answer("⛔вы не являетесь администратором")
@share_router.callback_query(F.data == 'share_cancel')
async def share_cancel_cmd(callback: CallbackQuery, state: FSMContext):
await callback.answer(show_alert=False)
await callback.message.edit_text('❌рассылка не была начата',
reply_markup=None)
await state.clear()
@share_router.callback_query(F.data == 'share_starting')
async def share_start_cmd(callback: CallbackQuery, state: FSMContext):
await callback.answer(show_alert=False)
await callback.message.edit_text(
'✉️отправьте сообщение для рассылки\n\nучтите что можно ' \
'приложить только один медиафайл',
reply_markup=None)
await state.set_state(Share.share_begin)
@share_router.message(Share.share_begin)
async def share_begin_cmd(message: Message, state: FSMContext, bot: Bot):
await state.update_data(share_msg=message)
await message.answer("🤔вы уверены что хотите разослать сообщение?",
reply_markup=share_kb.share_send)
await state.set_state(Share.share_msg)
@share_router.callback_query(F.data == 'share_starting_send')
async def share_send_cmd(callback: CallbackQuery, state: FSMContext, bot: Bot):
await callback.answer(show_alert=False)
data = await state.get_data()
share_msg = data.get('share_msg')
if not share_msg:
await callback.message.edit_text('❌Ошибка: сообщение для рассылки не найдено')
await state.clear()
return
base = sqlite3.connect('users.db')
cur = base.cursor()
cur.execute("SELECT id FROM users")
users_id = cur.fetchall()
await callback.message.edit_text('🔄Рассылаю сообщение...', reply_markup=None)
await asyncio.sleep(0.1) # Небольшая задержка перед началом рассылки
for user_id, in users_id:
if user_id != ADMIN_ID:
await send_media(bot, user_id, share_msg)
base.close()
await callback.message.edit_text('🎉Сообщение успешно разослано', reply_markup=None)
await state.clear()

View File

@@ -1,19 +0,0 @@
from aiogram.types import (
ReplyKeyboardMarkup,
KeyboardButton,
InlineKeyboardButton,
InlineKeyboardMarkup,
ReplyKeyboardRemove
)
from aiogram.utils.keyboard import ReplyKeyboardBuilder, InlineKeyboardBuilder
from aiogram.filters.callback_data import CallbackData
share_starting = InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text='да✅', callback_data='share_starting'),
InlineKeyboardButton(text='нет❌', callback_data='share_cancel')]
], resize_keyboard=True, input_field_placeholder='выберите действие')
share_send = InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text='да✅', callback_data='share_starting_send'),
InlineKeyboardButton(text='нет❌', callback_data='share_cancel')]
], resize_keyboard=True, input_field_placeholder='выберите действие')