Orale
Участник
- Статус
- offline
- Регистрация
- 08.04.2018
- Сообщения
- 30
- Репутация
- 38
Таксс, ну кто не читал 1 часть, то прочтите, в этой статье мы будем продолжать разработку этого бота)
Ссылка на статью:
В этой части мы подключим БД(Базу Данных)
Ну что же, начнем!
Первым делом мы импортируем еще одну библиотеку в наш код, чтобы работать с базой данных
Окей, теперь мы должны скачать любой менеджер Sqlite3, лично я юзаю DB Browser for SQLite
Я тут небольшую GIF сделал, чтобы меньше вопросов было, да и нагляднее
И чтобы было удобнее добавляем нашу БД в папку с нашим проектом
СМОТРЕТЬ GIF
Кст, хз че она такая медленная, ну да ладно
Теперь сделаем так, чтобы наша программа проверяла при команде '/start', есть ли в нашей БД этот человек, в противном случае добавляла бы его ID
Я наверное все подробно и что означает не буду расписывать, если надо будет, то глянете пару гайдов, там все достаточно понятно расписано
Ща возможно немного код понять, для этого я написал небольшие комментарии
Чутка подправим клавиатуру и добавим кнопку "Статистика"
Сделаем так, чтобы Бот реагировал на эту кнопку
Так, ну и давайте протестируем)
СМОТРЕТЬ GIF
Так и есть, в нашей БД, как раз таки записано 3 ID
Готовый код - https://pastebin.com/vZzE497x
Спасибо, что дочитали до конца
В следующей статье мы подключим онлайн оплату через QIWI с автоматическим зачислением
ps Вы можете заказать у меня бота, для своих нужд
Ссылка на статью:
https://dark2web.info/threads/112707/#post-952268
https://dark2web.info/threads/112707/#post-952268
В этой части мы подключим БД(Базу Данных)
Ну что же, начнем!
Первым делом мы импортируем еще одну библиотеку в наш код, чтобы работать с базой данных
Python:
import sqlite3
Окей, теперь мы должны скачать любой менеджер Sqlite3, лично я юзаю DB Browser for SQLite
Я тут небольшую GIF сделал, чтобы меньше вопросов было, да и нагляднее
И чтобы было удобнее добавляем нашу БД в папку с нашим проектом
СМОТРЕТЬ GIF
Кст, хз че она такая медленная, ну да ладно
Теперь сделаем так, чтобы наша программа проверяла при команде '/start', есть ли в нашей БД этот человек, в противном случае добавляла бы его ID
Я наверное все подробно и что означает не буду расписывать, если надо будет, то глянете пару гайдов, там все достаточно понятно расписано
Ща возможно немного код понять, для этого я написал небольшие комментарии
Python:
conn = sqlite3.connect("test.db") # подключаемся к нашей БД/ в ковычках должен быть путь к файлу
cursor = conn.cursor() # Создаем курсор, чтобы управлять БД
cursor.execute('SELECT ID FROM USERS WHERE id = :id',
{'id': message.chat.id}) # Находим пользователя
reg_id = cursor.fetchone()
conn.commit()
conn.close()
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
itembtn1 = types.KeyboardButton('Хочу стих')
markup.add(itembtn1)
if reg_id != None:# Если значение не является пустым, то мы понимаем, что этот пользователь уже у нас есть
########
########
bot.send_message(message.chat.id, 'И снова здравствй!')
bot.send_message(message.chat.id, "Что ты хочешь?", reply_markup=markup)
########
else:# Иначе мы добавляем его к нам в БД
conn = sqlite3.connect("test.db") # подключаемся к нашей БД/ в ковычках должен быть путь к файлу
cursor = conn.cursor() # Создаем курсор, чтобы управлять БД
cursor.execute(("""REPLACE INTO USERS (ID)
VALUES ('%s');
""") % (message.chat.id))
conn.commit()
conn.close()
bot.send_message(message.chat.id, 'Привет, я твой бот!')
bot.send_message(message.chat.id, "Что ты хочешь?", reply_markup=markup)
print('Новый подписчик')
Чутка подправим клавиатуру и добавим кнопку "Статистика"
Python:
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
itembtn1 = types.KeyboardButton('Хочу стих')
itembtn2 = types.KeyboardButton('Статистика')
markup.add(itembtn1, itembtn2)
Сделаем так, чтобы Бот реагировал на эту кнопку
Python:
elif message.text == 'Статистика':
conn = sqlite3.connect("test.db") # подключаемся к нашей БД/ в ковычках должен быть путь к файлу
cursor = conn.cursor() # Создаем курсор, чтобы управлять БД
cursor.execute('SELECT * FROM USERS') # Выбираем всех пользователей
list_of_user = cursor.fetchall() # Создаем список пользователей
conn.commit()
conn.close()
bot.send_message(message.chat.id, f'Сейчас в этом чудесном боте:\n? |{len(list_of_user)}| пользователей ')
Так, ну и давайте протестируем)
СМОТРЕТЬ GIF
Так и есть, в нашей БД, как раз таки записано 3 ID
Готовый код - https://pastebin.com/vZzE497x
Спасибо, что дочитали до конца
В следующей статье мы подключим онлайн оплату через QIWI с автоматическим зачислением
ps Вы можете заказать у меня бота, для своих нужд
Последнее редактирование: