<sqlite3.Cursor ...
а не просто пустую строку....
user_info = sql.execute(f"SELECT tiktok, cash from users WHERE login = '{message.from_user.id}'").fetchone()
if user_info:
tik, balance = user_info
bot.send_message(message.chat.id, f"ваш тикток: {tik}")
bot.send_message(message.chat.id, f" Ваш баланс: {balance} RUB ")
if call.data == 'r':
status = ['creator', 'administrator', 'member']
chats = ["@footballdaily24", "@social_net_itnews"]
for chat_id in chats:
chri == bot.get_chat_member(chat_id=chat_id, user_id=call.from_user.id).status
if chri not in status:
bot.send_message(call.message.chat.id, f"Кажется вы не подписались на {chat_id} ")
def get_access_status(user_id):
cursor.execute("SELECT 1 FROM Dostyp WHERE Iduser = %s", (user_id, ))
return bool(cursor.fetchone())
# сам проверка в функции
@bot.message_handler(commands=['start'])
def welcome(message):
if get_access_status(message.from_user.id):
# доступ есть, продолжаем
data = [
['13','2да','3нет','4впредкушение','53','654','7русский'],
['13','2да','3нет','4влюбленность','50','62','7русский']
]
out = [','.join(row)+'\n' for row in data]
with open('document.csv', 'a') as fd:
fd.writelines(out)
import csv
data = [
['13','2да','3нет','4впредкушение','53','654','7русский'],
['13','2да','3нет','4влюбленность','50','62','7русский']
]
with open('document2.csv', 'w', newline='') as fd:
writer = csv.writer(fd)
writer.writerows(data)
print(sorted(data, key=lambda x: datetime.datetime.strptime(x['history_date'], '%d.%m.%Y, %H:%M'), reverse=True))
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root)
canvas.pack(fill="both", expand=True)
# можно хранить в атрибутах canvas
canvas.max_oval_count = 10
canvas.ovals = []
class Oval():
...
def oval(event):
# создаем фигуры в списке
if canvas.max_oval_count > 0:
canvas.ovals.append(Oval(event, canvas))
canvas.max_oval_count -= 1
def move_ovals(event):
for oval in canvas.ovals:
oval.move_oval(event)
canvas.bind('<Button-3>', oval)
canvas.bind('<Button-1>', move_ovals)
root.mainloop()
...
def get_subscriptions(self, status = True):
with self.connection:
return [x[0] for x in self.cursor.execute("SELECT user_id FROM `subscriptions` WHERE `status` = ?", (status,)).fetchall()]
@dp.message_handler(commands=['go'])
async def go(message: types.Message):
subscriptions = db.get_subscriptions()
for user in subscriptions:
await bot.send_message(user, "...")
df.groupby(df['Phrase'].str.lower().str.extract(r"(\w+)", expand=False)).sum()
user_status = {}
@bot.message_handler ...
def process_something(message):
if user_status.get(message.from_user.id, 0) == 0:
user_status[message.from_user.id] == 1
start_our_process()
@bot.message_handler(regexp=r"/\w\d+")
def get_info(message):
user_type = message.text[1:2]
user_num = int(message.text[2:])
print(user_type, user_num)
bot.send_message(message.chat.id, f'ты запросил {user_type} - {user_num}')
...
for plate in plates:
x, y, w, h = plate
centreX = int((x + (x + w)) / 2)
...
data = [80,125,0]
with open("newfile.txt", "w") as f:
f.writelines((f"{x}\n" for x in data))
data = [80,125,0]
with open("newfile.txt", "w") as f:
f.write("\n".join(map(str, data)))
data = [80,125,0]
with open("newfile.txt", "w") as f:
print(*data, file=f, sep='\n')
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
msg = bot.send_message(message.chat.id, "Введите ваши Фамилию, Имя, Отчество")
bot.register_next_step_handler(msg, send_phone)
def send_phone(message):
# в message.text будет содержаться ФИО пользователя, т.к. сюда мы пришли из send_welcome
# их и надо записать в словарь данных, первый раз с созданием нового пользователя
user_data[message.from_user.id] = User(message.text)
msg = bot.send_message(message.chat.id, "Введите ваш номер телефона:")
bot.register_next_step_handler(msg, send_dog)
def send_dog(message):
# на этом этапе пользователь уже создан, просто дополняем информацию (на данном этапе это номер телефона)
user_data[message.from_user.id].phone_number = message.text
msg = bot.send_message(message.chat.id, "Как зовут вашего питомца?")
bot.register_next_step_handler(msg, send_breed_dog)
# аналогично с последующими шагами. нужно сохранять переданные пользователем данные
# и на последнем этапе просто достаем всю информацию по пользователю
def process_lastname_step(message):
try:
user_id = message.from_user.id
user = user_data[user_id]
# все эти присваивания user.phone_number уже не нужны, информация итак есть в user (т.к. это экземпляр класса User), используем ее напрямую
#user.first_name = message.text
#user.phone_namber = message.text
#user.dog = message.text
#user.breed_dog = message.text
#user.club_name = message.text
#user.club_namber = message.text
sql = "INSERT INTO users (first_name, phone_namber, dog, breed_dog, club_name, club_namber, user_id ) VALUES (%s, %s, %s, %s ,%s , %s, %s)"
val = (user.first_name, user.phone_namber, user.dog, user.breed_dog, user.club_name, user.club_namber, user_id)
cursor.execute(sql, val)
...
if ord(text[i + j]) - ord(elems[-1][-1]) < 2
text = ...
text_len = len(text)
max_len = 0
max_idx = 0
seq_idx = 0
prev = 0
for i, x in enumerate(text):
if ord(x) < prev:
seq_len = i-seq_idx
if seq_len > max_len:
max_len = seq_len
max_idx = seq_idx
seq_idx = i
elif i==text_len-1:
seq_len = i-seq_idx+1
if seq_len > max_len:
max_len = seq_len
max_idx = seq_idx
prev = ord(x)
print(max_len, text[max_idx:max_idx+max_len])
@bot.message_handler(commands=['search'])
def search(message):
if ' ' in message.text:
param = message.text.split(maxsplit=1)[1]
...
else:
bot.send_message(message.chat.id, 'no params')
/search XXX
# на верхнем уровне объявляем наш словарь
wind_info = {}
...
elif w1 > 33:
w_info = 'Огромные разрушения, серьезно повреждены здания, строения и дома, деревья вырваны с корнями, растительность уничтожена.'
# после определения w_info заносим эти данные в наш словарь
wind_info[message.text] = w_info # т.к. message.text это наш город (вообще хорошо бы его сразу в отдельную переменную выделять, так код проще читается)
item_wind = types.InlineKeyboardButton(text = 'Ветер', callback_data = f'wind_{message.text}')
elif call.data == 'wind':
elif call.data.startswith('wind'):
# извлекаем название города
city = call.data.split('_',1)[1]
# и берем нашу информацию из словаря данных по ветру
w_info = wind_info[city]
bot.send_message(call.message.chat.id, w_info)