@Flowmaked

Бот не реагирует на заданные команды?

Вот такая проблема я написал код на мут бан анмут, затем добавил музыку и все пошло не так, а теперь и вовсе бот ни на что не реагирует, у бота есть самые высшие права админа
code^

import telebot
import requests
from bs4 import BeautifulSoup
import re

bot_token = '6922bL3gVSf0464eIG8'
bot = telebot.TeleBot(bot_token)

banned_words = ['иди', 'пошел', 'нахуй', 'соси', 'пизда', 'хуй', 'Музик', 'Бля', 'Ок', 'Мать', 'Сво', 'Его', 'Задали', 'Скинь', 'Чмо', 'Пидор', 'Арсен', 'Бот', 'Полматери', 'Аборт', 'Мурзик', 'Член']

@bot.message_handler(func=lambda message: True)
def moderation(message):
for word in banned_words:
if word.lower() in message.text.lower():
bot.delete_message(message.chat.id, message.message_id)
bot.send_message(message.chat.id, f'Участник @{message.from_user.username}, получает автоматическое наказание за использование запрещенного слова.\n\nПрошу больше не использовать слова из списка.\n\nСлово: {word} ')

if 'http' in message.text:
bot.kick_chat_member(message.chat.id, message.from_user.id)
bot.send_message(message.chat.id, f'Пользователь @{message.from_user.username} был заблокирован\n\nПричина:\n\nСторонние ссылки, файлы')

@bot.message_handler(content_types=['new_chat_members'])
def welcome_message(message):
chat_id = message.chat.id
bot.send_message(chat_id, "Приветствую вас в нашей группе! Чтобы узнать больше информации, подпишитесь на наш канал.", reply_markup=telebot.types.InlineKeyboardMarkup().add(telebot.types.InlineKeyboardButton('Подписаться на канал', url='https://t.me')))

@bot.message_handler(content_types=['text'])
def search_music(message):
if message.text.startswith('/search_music'):
query = message.text.replace('/search_music ', '')
url = f'https://www.youtube.com/results?search_query={query}'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
video_id = re.findall(r'/watch\?v=(\S{11})', str(soup))[0]
bot.send_message(message.chat.id, f'Вот видео по запросу {query}: https://www.youtube.com/watch?v={video_id}')

elif message.text.startswith('/help'):
bot.send_message(message.chat.id, "Доступные команды:\n/ban - забанить пользователя\n/mute - замутить пользователя\n/unmute - размутить пользователя\n/search_music - поиск музыки")

elif message.text.startswith('/calc'):
expression = message.text.replace('/calc ', '')
try:
result = eval(expression)
bot.send_message(message.chat.id, f'Результат: {result}')
except Exception as e:
bot.send_message(message.chat.id, f'Ошибка: {e}')

@bot.message_handler(commands=['ban'])
def ban_user(message):
chat_id = message.chat.id
user_id = message.from_user.id

# Проверяем, является ли пользователь администратором чата
if is_user_admin(chat_id, user_id):
try:
user_to_ban = message.reply_to_message.from_user.id
bot.kick_chat_member(chat_id, user_to_ban)
bot.reply_to(message, "Пользователь забанен.")
except Exception as e:
bot.reply_to(message, "Не удалось забанить пользователя.")
else:
bot.reply_to(message, "У вас нет прав для этой команды.")


@bot.message_handler(commands=['unban'])
def unban_user(message):
chat_id = message.chat.id
user_id = message.from_user.id

# Проверяем, является ли пользователь администратором чата
if is_user_admin(chat_id, user_id):
try:
user_to_unban = message.reply_to_message.from_user.id
bot.unban_chat_member(chat_id, user_to_unban)
bot.reply_to(message, "Пользователь разбанен.")
except Exception as e:
bot.reply_to(message, "Не удалось разбанить пользователя.")
else:
bot.reply_to(message, "У вас нет прав для этой команды.")


def is_user_admin(chat_id, user_id):
chat_member = bot.get_chat_member(chat_id, user_id)
return chat_member.status == "administrator" or chat_member.status == "creator"

@bot.message_handler(commands=['mute'])
def mute_user(message):
chat_id = message.chat.id
if message.reply_to_message is not None: # Проверяем, что reply_to_message не равно None
user_id = message.reply_to_message.from_user.id
bot.restrict_chat_member(chat_id, user_id, can_send_messages=False)
else:
bot.send_message(chat_id, "Для выполнения команды /mute необходимо ответить на сообщение пользователя, которого вы хотите замутить.")

@bot.message_handler(commands=['unmute'])
def unmute_user(message):
chat_id = message.chat.id
if message.reply_to_message is not None: # Проверяем, что reply_to_message не равно None
user_id = message.reply_to_message.from_user.id
bot.restrict_chat_member(chat_id, user_id, can_send_messages=True)
else:
bot.send_message(chat_id, "Для выполнения команды /unmute необходимо ответить на сообщение пользователя, которого вы хотите размутить.")

if __name__ == '__main__':
bot.polling()
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
@hardux2821
Измени расположение кода, чтобы на первом месте были команды, а после, по возрастанию, другие функции
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы