Skip to content

Commit

Permalink
add admins role
Browse files Browse the repository at this point in the history
  • Loading branch information
mimimix committed Aug 4, 2024
1 parent e2ab550 commit cbe9668
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ telegram:
whitelist:
- USER_ID_1
- USER_ID_2
admins:
- USER_ID_1
- USER_ID_2
```
Замените `YOUR_TELEGRAM_BOT_TOKEN` на токен вашего бота и добавьте идентификаторы пользователей, которые будут иметь доступ к боту.
Expand Down
2 changes: 2 additions & 0 deletions config.ex.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ telegram:
token: TOKEN
whitelist:
- 123
admins:
- 123
10 changes: 6 additions & 4 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ async def handle_document(update: Update, context: CallbackContext) -> None:

async def add_to_whitelist(update: Update, context: CallbackContext) -> None:
user_id = update.effective_user.id
if not is_user_whitelisted(user_id, context.bot_data['whitelist']):
if not is_user_whitelisted(user_id, context.bot_data['admins']):
await update.message.reply_text('У вас нет прав для выполнения этой команды.')
return

Expand All @@ -101,7 +101,7 @@ async def add_to_whitelist(update: Update, context: CallbackContext) -> None:
if new_user_id not in context.bot_data['whitelist']:
context.bot_data['whitelist'].append(new_user_id)
with open('config.yaml', 'w') as file:
yaml.safe_dump({'telegram': {'token': context.bot_data['token'], 'whitelist': context.bot_data['whitelist']}}, file)
yaml.safe_dump({'telegram': {'token': context.bot_data['token'], 'whitelist': context.bot_data['whitelist'], 'admins': context.bot_data['admins']}}, file)
await update.message.reply_text(f'Пользователь {new_user_id} добавлен в белый список.')
else:
await update.message.reply_text(f'Пользователь {new_user_id} уже в белом списке.')
Expand All @@ -111,7 +111,7 @@ async def add_to_whitelist(update: Update, context: CallbackContext) -> None:
# Команда для удаления пользователя из белого списка
async def remove_from_whitelist(update: Update, context: CallbackContext) -> None:
user_id = update.effective_user.id
if not is_user_whitelisted(user_id, context.bot_data['whitelist']):
if not is_user_whitelisted(user_id, context.bot_data['admins']):
await update.message.reply_text('У вас нет прав для выполнения этой команды.')
return

Expand All @@ -120,7 +120,7 @@ async def remove_from_whitelist(update: Update, context: CallbackContext) -> Non
if remove_user_id in context.bot_data['whitelist']:
context.bot_data['whitelist'].remove(remove_user_id)
with open('config.yaml', 'w') as file:
yaml.safe_dump({'telegram': {'token': context.bot_data['token'], 'whitelist': context.bot_data['whitelist']}}, file)
yaml.safe_dump({'telegram': {'token': context.bot_data['token'], 'whitelist': context.bot_data['whitelist'], 'admins': context.bot_data['admins']}}, file)
await update.message.reply_text(f'Пользователь {remove_user_id} удалён из белого списка.')
else:
await update.message.reply_text(f'Пользователь {remove_user_id} не найден в белом списке.')
Expand All @@ -140,13 +140,15 @@ def main() -> None:
config = yaml.safe_load(file)
token = config['telegram']['token']
whitelist = config['telegram']['whitelist']
admins = config['telegram']['admins']

# Создайте объект `Application` и передайте токен
application = Application.builder().token(token).build()

# Зарегистрируйте обработчики
application.bot_data['token'] = token
application.bot_data['whitelist'] = whitelist
application.bot_data['admins'] = admins

# Зарегистрируйте обработчики
application.add_handler(MessageHandler(filters.Document.ALL, handle_document))
Expand Down

0 comments on commit cbe9668

Please sign in to comment.