Advertisement
Guest User

Untitled

a guest
Dec 3rd, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. @bot.on.message_both('Ник <nick>', lower=True)
  2. async def nick_change(ans: Message, nick):
  3. q.execute(f'SELECT * FROM players WHERE vk_id = {ans.from_id}')
  4. # Выбираем из базы данных всё (*) из таблицы players где столбец vk_id = айди человека, который написал команду
  5.  
  6. result = q.fetchall()
  7. # В переменную result вставляем наш результат, который мы выбрали через курсор.
  8.  
  9. # База данных никогда не выдаёт ошибок, благодаря этому можно сделать регистрацию.
  10. # Мы сделали поиск по WHERE vk_id = {ans.from_id} (Где вк айди равен нашему айди), если он не найдет такого значения, то
  11. # Он просто в результат (result) ничего не вставит (не выводит).
  12. if len(result) == 0:
  13. q.execute(f'INSERT INTO players (vk_id, nickname, balance) VALUES ("{ans.from_id}", "Неизвестно", "0")')
  14. connection.commit()
  15. await ans(f'🎉 Вы успешно зарегистрированы!\n👤 Ваш ник "Ник" \n💣 Для смены ника, используйте «ник [ник]»', keyboard=my_keyboard)
  16. elif len(nick) >= 15:
  17. await ans('👤 Длина ника слишком длинная. (15 макс.)')
  18. else:
  19. q.execute(f'UPDATE players SET nickname = "{nick}" WHERE vk_id = {ans.from_id}')
  20. # Обновляем (если пользователь уже есть в БД) в таблице players столбец nickname на переменную.
  21. connection.commit()
  22. await ans(f'🎉 Вы успешно сменили ник на {nick}')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement