import sqlite3
from sqlite3 import Error
from time import sleep, ctime
def post_sql_query(sql_query):
with sqlite3.connect('my.db') as connection:
cursor = connection.cursor()
try:
cursor.execute(sql_query)
except Error:
pass
result = cursor.fetchall()
return result
def create_tables():
users_query = '''CREATE TABLE IF NOT EXISTS USERS
(user_id INTEGER PRIMARY KEY NOT NULL,
username TEXT,
first_name TEXT,
last_name TEXT,
reg_date TEXT);'''
post_sql_query(users_query)
def register_user(user, username, first_name, last_name):
user_check_query = f'SELECT * FROM USERS WHERE user_id = {user};'
user_check_data = post_sql_query(user_check_query)
if not user_check_data:
insert_to_db_query = f'INSERT INTO USERS (user_id, username, first_name, last_name, reg_date) VALUES ({user}, "{username}", "{first_name}", "{last_name}", "{ctime()}");'
post_sql_query(insert_to_db_query )
create_tables() # вызываем функцию создания таблицы users
@bot.message_handler(commands=['start'])
def start(message):
register_user(message.from_user.id, message.from_user.username,
message.from_user.first_name, message.from_user.last_name)
bot.send_message(message.from_user.id, f'Welcome {message.from_user.first_name}' )
/usr/bin/python3 /usr/local/bin/bot/bot.py
python3 -V
city = message.text
with db.connect('your.db') as connection:
cursor = connection.cursor()
cursor.execute("SELECT * FROM table WHERE row = ?", (city,))
result = cursor.fetchall()
def check_city(city ):
with db.connect('your.db') as connection:
cursor = connection.cursor()
cursor.execute("SELECT * FROM table WHERE row = ? ", (city,))
data = cursor.fetchone()
if data is None:
return False
else:
return data
test = check_city(message.text)
if test:
bot.send_message(user_id, test[0]) # например первое поле из таблицы
def IsCorrect(number):
if number.isdigit() and (len(number) >= 9 and len(number) <= 12):
if number[:2] != '00' and number[0] == '0':
rNumber = '421' + number[1:]
elif number[0] == '9':
rNumber = '0' + number
else:
rNumber = number[2:]
return rNumber
else:
return False
massage_string = True
while massage_string is True
import sqlite3
from sqlite3 import Error
def post_sql_query(sql_query):
with sqlite3.connect(database) as connection:
cursor = connection.cursor()
cursor.execute(sql_query)
result = cursor.fetchall()
return result
def create_tables():
users_query = '''CREATE TABLE IF NOT EXISTS USERS
(user_id INTEGER PRIMARY KEY NOT NULL, fullname TEXT, birthday TEXT);'''
order_query = '''CREATE TABLE IF NOT EXISTS ORDERS
(order_id INTEGER PRIMARY KEY NOT NULL, user_id INT, order_date TEXT);'''
post_sql_query(users_query)
post_sql_query(order_query)
database = 'MyDataBase.db'
create_tables()
# пример для первой строки
user_insert_query = "INSERT INTO users(fullname,birthday) VALUES('Сидоров Иван Петрович', '01.02.1970');"
order_insert_query = "INSERT INTO orders(user_id,order_date) VALUES(2,'10.03.2020');"
post_sql_query(user_insert_query)
post_sql_query(order_insert_query)
user_without_orders_query = 'SELECT fullname FROM users WHERE user_id NOT IN (SELECT user_id FROM orders);'
U = post_sql_query(user_without_orders_query)
print(U)
answer_yes = 'yes'
answer_no = 'no'
if input('Вы прочитали книгу Лутца? ').lower() == answer_yes:
print('Ложь! Этого вопроса бы тут не было!')
else:
answer = input('Вам нужно сначала прочитать книгу Лутца, хотите? ').lower()
if answer == answer_yes:
print('https://www.litres.ru/mark-lutc/izuchaem-python-4-e-izdanie-24500334/')
elif answer == answer_no:
print('без труда не вытащишь и рыбку из пруда')
else:
print('Вот Вам и простой пример ветвления')
# создаете словарь
persons = {}
# пополняете словарь
for num in enumerate(name, date_time, first_ip):
persons[num] = {"user": {"name": name, "IP from the last entry point": first_ip, "Last login date": date_time}}
# в конце кода записываете в json, записывать каждый раз в цикле for нет необходимости
with open(r'C:\users.json', 'w', encoding='utf-8') as fh:
fh.write(json.dumps(message, ensure_ascii=False))
first = [{'month': 'марта', 'stat': 10}, {'month': 'февраля', 'stat': 5}, {'month': 'января', 'stat': 20}]
second = [{'month': 'марта', 'stat': 12}, {'month': 'февраля', 'stat': 7}, {'month': 'января', 'stat': 17}]
third = second.copy()
for x,y,z in zip(first,second, third):
z['stat'] = x['stat'] + y['stat']
print(third)
# [{'month': 'марта', 'stat': 22}, {'month': 'февраля', 'stat': 12}, {'month': 'января', 'stat': 37}]
from aiogram.dispatcher.filters import BoundFilter
class MyFilter(BoundFilter):
key = 'is_admin'
def __init__(self, is_admin):
self.is_admin = is_admin
async def check(self, message: types.Message):
member = await bot.get_chat_member(message.chat.id, message.from_user.id)
return member.is_chat_admin()
dp.filters_factory.bind(MyFilter)
@dp.message_handler(is_admin=True)
async def ...