Как добавить в бота команду шипперим как в ирис чат-менеджер aiogram?
Как добавить в бота команду шипперим как в ирис чат-менеджер aiogram?
База данных
# Путь к папке с данными пользователей
DATA_DIR = 'user_data'
if not os.path.exists(DATA_DIR):
os.makedirs(DATA_DIR)
# Функция для чтения данных пользователя из файла
def read_user_data(user_id):
user_file = os.path.join(DATA_DIR, f'{user_id}.txt')
if not os.path.exists(user_file):
return {'count': 0, 'balance': 0.0}
with open(user_file, 'r') as file:
data = file.read().strip().split(',')
return {'count': int(data[0]), 'balance': float(data[1])}
# Функция для записи данных пользователя в файл
def write_user_data(user_id, data):
user_file = os.path.join(DATA_DIR, f'{user_id}.txt')
with open(user_file, 'w') as file:
file.write(f"{data['count']},{data['balance']}")
# Функция для получения общего числа пользователей
def get_total_users():
return len([name for name in os.listdir(DATA_DIR) if os.path.isfile(os.path.join(DATA_DIR, name))])
# Обработчик события добавления бота в группу
@dp.my_chat_member_handler()
async def group_joined(message: types.Message):
# Добавляем всех участников группы в базу данных
if message.chat.type == types.ChatType.GROUP or message.chat.type == types.ChatType.SUPERGROUP:
for member in await message.chat.get_members():
# Проверяем, есть ли данные о пользователе в базе
user_data = read_user_data(member.user.id)
if not user_data:
# Записываем данные нового пользователя
write_user_data(member.user.id, {'count': 0, 'balance': 0.0})