Advertisement
fuccpuff

Untitled

Jan 23rd, 2024 (edited)
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.33 KB | None | 0 0
  1. import telebot
  2. import sqlite3
  3. from telebot import types
  4.  
  5. bot = telebot.TeleBot('YOUR_BOT_TOKEN')
  6.  
  7. @bot.message_handler(commands=['start'])
  8. def start(message):
  9. conn = sqlite3.connect('bimbimbim.sql')
  10. cur = conn.cursor()
  11.  
  12. cur.execute(
  13. 'CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(50), pass VARCHAR(50))')
  14. conn.commit()
  15. cur.close()
  16. conn.close()
  17.  
  18. bot.send_message(message.chat.id, 'Привет, напиши своё имя, чтобы зарегистрироваться.')
  19.  
  20. bot.register_next_step_handler(message, save_name)
  21.  
  22. def save_name(message):
  23. user_name = message.text
  24.  
  25. conn = sqlite3.connect('bimbimbim.sql')
  26. cur = conn.cursor()
  27.  
  28. cur.execute('INSERT INTO users (name) VALUES (?)', (user_name,))
  29. conn.commit()
  30. cur.close()
  31. conn.close()
  32.  
  33. bot.send_message(message.chat.id, f'Спасибо, {user_name}! Теперь введи свой пароль.')
  34.  
  35. # Pass user_name as a parameter to the save_password function
  36. bot.register_next_step_handler(message, save_password, user_name)
  37.  
  38. def save_password(message, user_name):
  39. user_password = message.text
  40.  
  41. conn = sqlite3.connect('bimbimbim.sql')
  42. cur = conn.cursor()
  43.  
  44. cur.execute('UPDATE users SET pass = ? WHERE name = ?', (user_password, user_name))
  45. conn.commit()
  46. cur.close()
  47. conn.close()
  48.  
  49. markup = telebot.types.InlineKeyboardMarkup()
  50. markup.add(telebot.types.InlineKeyboardButton('Список всех пользователей', callback_data='bimbimbim'))
  51.  
  52. bot.send_message(message.chat.id, f'Спасибо, {user_name}! Теперь ты зарегистрирован.', reply_markup=markup)
  53.  
  54. @bot.callback_query_handler(func=lambda call: call.data == 'bimbimbim')
  55. def show_users_list(call):
  56. conn = sqlite3.connect('bimbimbim.sql')
  57. cur = conn.cursor()
  58.  
  59. cur.execute('SELECT name FROM users')
  60. users = cur.fetchall()
  61.  
  62. if users:
  63. user_list = "\n".join([user[0] for user in users])
  64. bot.send_message(call.message.chat.id, f'Список всех пользователей:\n{user_list}')
  65. else:
  66. bot.send_message(call.message.chat.id, 'Список пользователей пуст.')
  67.  
  68. cur.close()
  69. conn.close()
  70.  
  71. bot.polling(none_stop=True)
  72.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement