Создаю телеграмм бота на фреймворке aiogram, использую БД sqlite3, необходимо реализовать профиль пользователя в котором будет указана дата регистрации юзера в боте
Когда запускаю код выдает ошибку:
line 58, in user_profile
text=f"Профиль\n\nТвой телеграмм :{message.from_user.id}\nКол-во приглашенных пользователей: <b>{db.count_referals(message.from_user.id)}</b>\n Дата регистрации:{db.data_reg(message.from_user.id)}",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Database.data_reg() missing 1 required positional argument: 'join_date'
Основной код:
import logging
from aiogram import Bot, Dispatcher, executor, types
from keyboards import *
from config import bot_token, project_name
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from db import Database
from aiogram.utils.markdown import hbold
logging.basicConfig(level=logging.INFO)
storage = MemoryStorage()
bot = Bot(bot_token)
dp = Dispatcher(bot, storage=storage)
db = Database('db.db')
async def on_startup(_):
print("""Бот запущен""")
@dp.message_handler(commands=['start'])
async def start_bot(message: types.Message):
if message.chat.type == 'private' and not db.user_exists(message.from_user.id):
start_command = message.text
refer_id = str(start_command[7:])
if str(refer_id) == "":
db.add_user(message.from_user.id)
else:
if str(refer_id) != str(message.from_user.id):
db.add_user(message.from_user.id, refer_id)
try:
await bot.send_message(refer_id, "По вашей ссылке зарегистрировался новый воркер! ")
except:
pass
else:
await bot.send_message(message.from_user.id,
text=f"{hbold('Вы не можете зарегистрироваться по своей реф.ссылке')}",
parse_mode="HTML")
else:
db.add_user(message.from_user.id)
await bot.send_sticker(message.from_user.id,
sticker="CAACAgIAAxkBAAEIzsdkT8E_izGwbCjNH_LJqQZVaK3fDQACLwADzKrwKJ375rEMzv0ELwQ")
await message.answer(text=f"{message.from_user.first_name}, Добро пожаловать в <b>{project_name}</b>",
reply_markup=menu, parse_mode='HTML')
@dp.callback_query_handler(text='ib1')
async def user_profile(message: types.Message):
await bot.send_message(message.from_user.id,
text=f"Профиль\n\nТвой телеграмм :{message.from_user.id}\nКол-во приглашенных пользователей: <b>{db.count_referals(message.from_user.id)}</b>\n Дата регистрации:{db.data_reg(message.from_user.id)}",
parse_mode='HTML')
Код функции:
def data_reg(self, user_id, join_date):
with self.connection:
return self.cursor.execute("SELECT user_id, join_date EXTRACT(DAY FROM date) as day FROM users VALUES (?, ?)",
(user_id, join_date,))