Форум сайта python.su
Пишу телеграммного бота который в базу заносит имя и id пользователя. В дальнейшем хотелось бы реализовать проверку по id и не создавать новых таблиц в базе. Что-то запутался с функциями и понимаю что пишу ужасный код. Помогите пожалуйста сделать правильно ))))
# -*- coding: utf-8 -*- import telebot import sqlite3 bot = telebot.TeleBot(token) @bot.message_handler(commands=['start']) def handle_start(message): FirstMessage = bot.send_message(message.from_user.id, 'Привет мой друг! Я Бот! Бот-обормот, Пожалуйста скажи как тебя зовут.') bot.register_next_step_handler(FirstMessage, HelloMessage) def HelloMessage(message): bot.send_message(message.chat.id, 'Привет, {UserName}. Рад тебя видеть.'.format(UserName=message.text)) UserName = message.text UserID = message.from_user.id #Конектимся к базе и определяем курсор conn = sqlite3.connect('BaseIdUser.db') c = conn.cursor() row = c.fetchone() #Функция занесения пользователя в базу def add_user(username,userId): c.execute("INSERT INTO TelegramUsers (Name,TelegramID) VALUES ('%s','%s')"%(username,userId)) conn.commit() #Получаем имя и ID Name = UserName TelegramID = UserID #Делаем запрос в базу add_user(Name,TelegramID) # закрываем соединение с базой c.close() conn.close() bot.polling(none_stop=True)
Отредактировано FishHook (Май 26, 2017 20:46:11)
Офлайн
[code XXX][/code]
Офлайн
FishHookнет, не совсем разобрался со вставками
Офлайн
KOHbДавайте начнем с PEP8
Помогите пожалуйста сделать правильно
Офлайн
FishHookСпасибо за совет, а что именно в разметке и именах не так?
Офлайн
KOHbЗачем я вам буду пересказывать документ, когда вы вполне способны прочитать его самостоятельно?
Спасибо за совет, а что именно в разметке и именах не так?
Офлайн
FishHookЗаучив инструкцию по пилотированию космического аппарата “Союз 5” я не только смогу запустить квадрокоптер, но и с лёгкостью разберусь с вертолётом на радиоуправлении.
Офлайн
Ну значит не способны. Смиритесь.
Офлайн
KOHbДлинные строки - это основа. От этого долго уходили и уж о чём о чём, а о максимальной длине строки где только не говорится (в разных языках программирования, в разных программах).
а что именно в разметке и именах не так?
stdin:4:1: E302 expected 2 blank lines, found 0
stdin:6:80: E501 line too long (130 > 79 characters)
stdin:8:1: E302 expected 2 blank lines, found 0
stdin:9:80: E501 line too long (107 > 79 characters)
stdin:12:1: E265 block comment should start with '# '
stdin:16:1: E265 block comment should start with '# '
stdin:17:5: E301 expected 1 blank line, found 0
stdin:17:26: E231 missing whitespace after ','
stdin:18:80: E501 line too long (101 > 79 characters)
stdin:18:83: E228 missing whitespace around modulo operator
stdin:18:93: E231 missing whitespace after ','
stdin:20:1: E265 block comment should start with '# '
stdin:23:1: E265 block comment should start with '# '
stdin:24:18: E231 missing whitespace after ','
stdin:28:28: W292 no newline at end of file
[guest@localhost py]$ python3-pylint telebot_script.py
No config file found, using default configuration
************* Module telebot_script
C: 6, 0: Line too long (130/80) (line-too-long)
C: 9, 0: Line too long (107/80) (line-too-long)
C: 17, 0: Exactly one space required after comma
def add_user(username,userId):
^ (bad-whitespace)
C: 18, 0: Line too long (101/80) (line-too-long)
C: 18, 0: Exactly one space required after comma
c.execute("INSERT INTO TelegramUsers (Name,TelegramID) VALUES ('%s','%s')"%(username,userId))
^ (bad-whitespace)
C: 24, 0: Exactly one space required after comma
add_user(Name,TelegramID)
^ (bad-whitespace)
C: 1, 0: Missing module docstring (missing-docstring)
F: 1, 0: Unable to import 'telebot' (import-error)
C: 3, 0: Invalid constant name "bot" (invalid-name)
E: 3,22: Undefined variable 'token' (undefined-variable)
C: 5, 0: Missing function docstring (missing-docstring)
C: 6, 4: Invalid variable name "FirstMessage" (invalid-name)
C: 8, 0: Invalid function name "HelloMessage" (invalid-name)
C: 8, 0: Missing function docstring (missing-docstring)
C: 10, 4: Invalid variable name "UserName" (invalid-name)
C: 11, 4: Invalid variable name "UserID" (invalid-name)
C: 14, 4: Invalid variable name "c" (invalid-name)
C: 17, 4: Invalid argument name "userId" (invalid-name)
C: 17, 4: Missing function docstring (missing-docstring)
C: 21, 4: Invalid variable name "Name" (invalid-name)
C: 22, 4: Invalid variable name "TelegramID" (invalid-name)
W: 15, 4: Unused variable 'row' (unused-variable)
Report
======
23 statements analysed.
Statistics by type
------------------
+---------+-------+-----------+-----------+------------+---------+
|type |number |old number |difference |%documented |%badname |
+=========+=======+===========+===========+============+=========+
|module |1 |NC |NC |0.00 |0.00 |
+---------+-------+-----------+-----------+------------+---------+
|class |0 |NC |NC |0 |0 |
+---------+-------+-----------+-----------+------------+---------+
|method |0 |NC |NC |0 |0 |
+---------+-------+-----------+-----------+------------+---------+
|function |3 |NC |NC |0.00 |33.33 |
+---------+-------+-----------+-----------+------------+---------+
Messages by category
--------------------
+-----------+-------+---------+-----------+
|type |number |previous |difference |
+===========+=======+=========+===========+
|convention |19 |NC |NC |
+-----------+-------+---------+-----------+
|refactor |0 |NC |NC |
+-----------+-------+---------+-----------+
|warning |1 |NC |NC |
+-----------+-------+---------+-----------+
|error |1 |NC |NC |
+-----------+-------+---------+-----------+
Messages
--------
+-------------------+------------+
|message id |occurrences |
+===================+============+
|invalid-name |9 |
+-------------------+------------+
|missing-docstring |4 |
+-------------------+------------+
|line-too-long |3 |
+-------------------+------------+
|bad-whitespace |3 |
+-------------------+------------+
|unused-variable |1 |
+-------------------+------------+
|undefined-variable |1 |
+-------------------+------------+
|import-error |1 |
+-------------------+------------+
Global evaluation
-----------------
Your code has been rated at -0.87/10
Duplication
-----------
+-------------------------+------+---------+-----------+
| |now |previous |difference |
+=========================+======+=========+===========+
|nb duplicated lines |0 |NC |NC |
+-------------------------+------+---------+-----------+
|percent duplicated lines |0.000 |NC |NC |
+-------------------------+------+---------+-----------+
Raw metrics
-----------
+----------+-------+------+---------+-----------+
|type |number |% |previous |difference |
+==========+=======+======+=========+===========+
|code |24 |82.76 |NC |NC |
+----------+-------+------+---------+-----------+
|docstring |0 |0.00 |NC |NC |
+----------+-------+------+---------+-----------+
|comment |0 |0.00 |NC |NC |
+----------+-------+------+---------+-----------+
|empty |5 |17.24 |NC |NC |
+----------+-------+------+---------+-----------+
[guest@localhost py]$
Отредактировано py.user.next (Май 31, 2017 03:51:51)
Офлайн
py.user.nextСпасибо!
PEP8
Офлайн