Compare commits
2 Commits
b123e9f714
...
2e92164bbf
| Author | SHA1 | Date | |
|---|---|---|---|
| 2e92164bbf | |||
| 69985f6afb |
@@ -137,8 +137,7 @@ steps:
|
|||||||
settings:
|
settings:
|
||||||
urls:
|
urls:
|
||||||
- https://discord.com/api/webhooks/YOUR_WEBHOOK_URL # Замените на ваш webhook
|
- https://discord.com/api/webhooks/YOUR_WEBHOOK_URL # Замените на ваш webhook
|
||||||
headers:
|
content_type: application/json
|
||||||
Content-Type: application/json
|
|
||||||
template: |
|
template: |
|
||||||
{
|
{
|
||||||
"content": "✅ **Build Success** - Lottery Bot\n**Branch:** {{build.branch}}\n**Commit:** {{build.commit}}\n**Build:** #{{build.number}}\n**Author:** {{build.author}}"
|
"content": "✅ **Build Success** - Lottery Bot\n**Branch:** {{build.branch}}\n**Commit:** {{build.commit}}\n**Build:** #{{build.number}}\n**Author:** {{build.author}}"
|
||||||
@@ -156,8 +155,7 @@ steps:
|
|||||||
settings:
|
settings:
|
||||||
urls:
|
urls:
|
||||||
- https://discord.com/api/webhooks/YOUR_WEBHOOK_URL # Замените на ваш webhook
|
- https://discord.com/api/webhooks/YOUR_WEBHOOK_URL # Замените на ваш webhook
|
||||||
headers:
|
content_type: application/json
|
||||||
Content-Type: application/json
|
|
||||||
template: |
|
template: |
|
||||||
{
|
{
|
||||||
"content": "❌ **Build Failed** - Lottery Bot\n**Branch:** {{build.branch}}\n**Commit:** {{build.commit}}\n**Build:** #{{build.number}}\n**Author:** {{build.author}}\n**Logs:** {{build.link}}"
|
"content": "❌ **Build Failed** - Lottery Bot\n**Branch:** {{build.branch}}\n**Commit:** {{build.commit}}\n**Build:** #{{build.number}}\n**Author:** {{build.author}}\n**Logs:** {{build.link}}"
|
||||||
@@ -237,8 +235,7 @@ steps:
|
|||||||
settings:
|
settings:
|
||||||
urls:
|
urls:
|
||||||
- https://discord.com/api/webhooks/YOUR_WEBHOOK_URL # Замените на ваш webhook
|
- https://discord.com/api/webhooks/YOUR_WEBHOOK_URL # Замените на ваш webhook
|
||||||
headers:
|
content_type: application/json
|
||||||
Content-Type: application/json
|
|
||||||
template: |
|
template: |
|
||||||
{
|
{
|
||||||
"content": "🚀 **Deployment Complete** - Lottery Bot\n**Environment:** Staging\n**Build:** #{{build.number}}\n**Commit:** {{build.commit}}"
|
"content": "🚀 **Deployment Complete** - Lottery Bot\n**Environment:** Staging\n**Build:** #{{build.number}}\n**Commit:** {{build.commit}}"
|
||||||
|
|||||||
@@ -204,21 +204,34 @@ async def show_lottery_management(callback: CallbackQuery):
|
|||||||
@admin_router.callback_query(F.data == "admin_create_lottery")
|
@admin_router.callback_query(F.data == "admin_create_lottery")
|
||||||
async def start_create_lottery(callback: CallbackQuery, state: FSMContext):
|
async def start_create_lottery(callback: CallbackQuery, state: FSMContext):
|
||||||
"""Начать создание розыгрыша"""
|
"""Начать создание розыгрыша"""
|
||||||
|
logging.info(f"🎯 Callback admin_create_lottery получен от пользователя {callback.from_user.id}")
|
||||||
|
|
||||||
|
# Сразу отвечаем на callback
|
||||||
|
await callback.answer()
|
||||||
|
|
||||||
if not is_admin(callback.from_user.id):
|
if not is_admin(callback.from_user.id):
|
||||||
await callback.answer("❌ Недостаточно прав", show_alert=True)
|
logging.warning(f"⚠️ Пользователь {callback.from_user.id} не является админом")
|
||||||
|
await callback.message.answer("❌ Недостаточно прав")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
logging.info(f"✅ Админ {callback.from_user.id} начинает создание розыгрыша")
|
||||||
|
|
||||||
text = "📝 Создание нового розыгрыша\n\n"
|
text = "📝 Создание нового розыгрыша\n\n"
|
||||||
text += "Шаг 1 из 4\n\n"
|
text += "Шаг 1 из 4\n\n"
|
||||||
text += "Введите название розыгрыша:"
|
text += "Введите название розыгрыша:"
|
||||||
|
|
||||||
await callback.message.edit_text(
|
try:
|
||||||
text,
|
await callback.message.edit_text(
|
||||||
reply_markup=InlineKeyboardMarkup(inline_keyboard=[
|
text,
|
||||||
[InlineKeyboardButton(text="❌ Отмена", callback_data="admin_lotteries")]
|
reply_markup=InlineKeyboardMarkup(inline_keyboard=[
|
||||||
])
|
[InlineKeyboardButton(text="❌ Отмена", callback_data="admin_lotteries")]
|
||||||
)
|
])
|
||||||
await state.set_state(AdminStates.lottery_title)
|
)
|
||||||
|
await state.set_state(AdminStates.lottery_title)
|
||||||
|
logging.info(f"✅ Состояние установлено: AdminStates.lottery_title")
|
||||||
|
except Exception as e:
|
||||||
|
logging.error(f"❌ Ошибка при создании розыгрыша: {e}")
|
||||||
|
await callback.message.answer(f"❌ Ошибка: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
@admin_router.message(StateFilter(AdminStates.lottery_title))
|
@admin_router.message(StateFilter(AdminStates.lottery_title))
|
||||||
|
|||||||
@@ -123,21 +123,20 @@ async def handle_text_message(message: Message):
|
|||||||
# Извлекаем команду (первое слово)
|
# Извлекаем команду (первое слово)
|
||||||
command = message.text.split()[0] if message.text else ''
|
command = message.text.split()[0] if message.text else ''
|
||||||
|
|
||||||
# Если это пользовательская команда - пропускаем, она будет обработана другими обработчиками
|
# ИЗМЕНЕНИЕ: Если это команда от АДМИНА - не пересылаем (админ сам её видит)
|
||||||
if command in user_commands:
|
if is_admin(message.from_user.id):
|
||||||
return
|
# Если это админская команда - пропускаем, она будет обработана другими обработчиками
|
||||||
|
if command in admin_commands:
|
||||||
# Если это админская команда
|
|
||||||
if command in admin_commands:
|
|
||||||
# Проверяем права админа
|
|
||||||
if not is_admin(message.from_user.id):
|
|
||||||
await message.answer("❌ У вас нет прав для выполнения этой команды")
|
|
||||||
return
|
return
|
||||||
# Если админ - команда будет обработана другими обработчиками, пропускаем пересылку
|
# Если это пользовательская команда от админа - тоже пропускаем
|
||||||
|
if command in user_commands:
|
||||||
|
return
|
||||||
|
# Любая другая команда от админа - тоже не пересылаем
|
||||||
return
|
return
|
||||||
|
|
||||||
# Если неизвестная команда - тоже не пересылаем
|
# ИЗМЕНЕНИЕ: Если команда от обычного пользователя - ПЕРЕСЫЛАЕМ админу
|
||||||
return
|
# Чтобы админ видел, что пользователь отправил /start или другую команду
|
||||||
|
# НЕ делаем return, продолжаем выполнение для пересылки
|
||||||
|
|
||||||
async with async_session_maker() as session:
|
async with async_session_maker() as session:
|
||||||
# Проверяем права на отправку
|
# Проверяем права на отправку
|
||||||
|
|||||||
Reference in New Issue
Block a user