Загрузка...

How to record all chat_id in telegram bot?

Thread in Python created by Pandazz Jun 24, 2020. 731 view

  1. Pandazz
    Pandazz Topic starter Jun 24, 2020 68 May 5, 2020
    в шапке
     
  2. MORTY
    MORTY Jun 24, 2020 i ball was rawt 11,590 Oct 13, 2018
    получил > записал в базу
     
  3. Delitel
    Delitel Jun 24, 2020 198 Feb 4, 2018
    Записывать куда?
     
  4. SvetoCopy
    Лол,в команде старта просто пропиши запись чат айди в бд и всё
     
  5. Delitel
    Delitel Jun 24, 2020 198 Feb 4, 2018
    Python
    import sqlite3
    from aiogram import Bot, Dispatcher, executor

    conn = sqlite3.connect("db.db")
    c = conn.cursor()
    c.execute('''CREATE TABLE IF NOT EXISTS users
    (id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER)''')
    conn.commit()
    conn.close()

    class SQLither:

    def __init__(self, database):
    self.conn = sqlite3.connect(database)
    self.c = self.conn.cursor()

    def exists_user(self, user_id):
    """Проверка существования пользователя в БД"""
    return bool(self.c.execute("SELECT * FROM users WHERE user_id=?", (user_id,)).fetchone())

    def add_to_db(self, user_id):
    """Добавление пользователя в БД"""
    self.c.execute("INSERT INTO users ('user_id') VALUES(?)", (user_id,))
    self.conn.commit()


    bot = Bot(token="")
    dp = Dispatcher(bot)

    db = SQLither("db.db")

    @dp.message_handler(content_types=["text"])
    async def message_handler(message):
    user_id = message.chat.id
    if not db.exists_user(user_id):
    db.add_to_db(user_id)

    if __name__ == "__main__":
    executor.start_polling(dp, skip_updates=True)

     
    1. xaockraken
      Delitel, привет а как добавить first_name так же как id и после вывод и id и first_name в боте?
Top
Loading...