import telebot
import sqlite3
import logging
import os
import sys
# Настройка логирования
logging.basicConfig(level=logging.INFO)
# Ваш токен бота
TOKEN = 'YOUR_BOT_TOKEN_HERE'
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['проверить'])
def handle_check(message):
chat_id = message.chat.id
try:
chat_info = bot.get_chat(chat_id)
if chat_info.type in ['group', 'supergroup']:
try:
# Получаем список администраторов группы
administrators = bot.get_chat_administrators(chat_id)
# Ищем владельца группы (создателя)
chat_owner = None
for admin in administrators:
if admin.status == 'creator':
chat_owner = admin.user
break
if chat_owner:
bot.reply_to(message, f"Владелец группы: {chat_owner.first_name}")
else:
bot.reply_to(message, "Владелец группы не найден.")
except telebot.apihelper.ApiException as e:
logging.error(f"Error retrieving chat owner: {e}")
bot.reply_to(message, "Ошибка: не удалось получить владельца группы. Возможно, у бота нет доступа.")
except Exception as e:
logging.exception(f"An unexpected error occurred: {e}")
bot.reply_to(message, "Произошла неизвестная ошибка.")
else:
bot.reply_to(message, "Команда доступна только в группах и супергруппах.")
except telebot.apihelper.ApiException as e:
logging.error(f"API Error: {e}")
bot.reply_to(message, f"Ошибка доступа к информации о группе: {e}")
except Exception as e:
logging.exception(f"An unexpected error occurred: {e}")
bot.reply_to(message, "Произошла неизвестная ошибка.")
# Запуск бота
if __name__ == '__main__':
try:
logging.info("Бот запущен.")
bot.infinity_polling()
except KeyboardInterrupt:
logging.info("Бот остановлен пользователем.")
except Exception as e:
logging.exception(f"Произошла ошибка: {e}")
ошибка заключается в том что когда бот пытается получить доступ к владельцу группы вылазит такая ошибка
Traceback (most recent call last):
File "C:\Users\Dmitry\PycharmProjects\PythonProject\.venv\telegramm.py", line 68, in handle_check
chat_owner = chat_info.get_member(chat_ info.id )
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ChatFullInfo' object has no attribute 'get_member'
использую модуль telebot
так же код можно посмотреть ниже
ошибка выходит при ввода команды /проверить
она должна определять кто владелец группы и давать 4 ранг - владелец (подробнее в коде)
1. сама команда Проверить
@bot.message_handler(commands=['проверить'])
def handle_check(message):
chat_id = message.chat.id
try:
chat_info = bot.get_chat(chat_id)
if chat_info.type in ['group', 'supergroup']:
try:
# Directly try to get the owner using the correct method
chat_owner = chat_info.get_member(chat_ info.id )
bot.reply_to(message, f"Владелец группы: {chat_owner.user.first_name}")
except telebot.apihelper.ApiException as e:
logging.error(f"Error retrieving chat owner: {e}")
bot.reply_to(message, "Ошибка: не удалось получить владельца группы. Возможно, у бота нет доступа.")
except Exception as e:
logging.exception(f"An unexpected error occurred: {e}")
bot.reply_to(message, "Произошла неизвестная ошибка.")
else:
bot.reply_to(message, "Команда доступна только в группах и супергруппах.")
except telebot.apihelper.ApiException as e:
logging.error(f"API Error: {e}")
bot.reply_to(message, f"Ошибка доступа к информации о группе: {e}")
except Exception as e:
logging.exception(f"An unexpected error occurred: {e}")
bot.reply_to(message, "Произошла неизвестная ошибка.")
все модули
import telebot
import sqlite3
import logging
import os
import sys
на все вопросы по коду писать ниже отвечу на все