@bot.on.message(text=["Призми погладить", "Рп погладить", "[id{user_id}|Фурина]"])
async def pat_user(message: Message):
# Проверяем, было ли упоминание пользователя через @
mentioned_user_id = None
mentioned_users = re.findall(r'\[id(\d+)\|.*?\]', message.text)
if mentioned_users:
mentioned_user_id = mentioned_users[0]
@bot.on.message(text=["Рп погладить [id<mentioned_user_id>|<mentioned_user_name>]", "Призми погладить", "Рп погладить"])
async def pat_user(message: Message, mentioned_user_id=None, mentioned_user_name=None):
mentioned_user_id ... # уже можно использовать напрямую
# можно и само имя использовать, если вдруг пригодится mentioned_user_name
# класс для загрузки файла
from aiogram.types import InputFile
...
# его и используем для загрузки нашего файла
await bot.send_photo(message.chat.id, InputFile(text1))
@bot.message_handler(commands=["api_id"])
def api_id(m, res=False):
bot.send_message(m.chat.id, 'Введите Api ID, полученное на сайте my.telegram.org')
@bot.message_handler(func=lambda message: True, content_types=['text'])
def msg(message):
print(message.text)
f = open('C:/Users/асер/Desktop/python/bot/api_id.txt', 'a')
f.write(message.text + '\n')
f.close()
bot.send_message(m.chat.id, 'Прекрасно!')
@bot.message_handler(commands=["api_id"])
def api_id(m, res=False):
bot.send_message(m.chat.id, 'Введите Api ID, полученное на сайте my.telegram.org')
# указываем запуск следующего шага обработки - свою функцию
bot.register_next_step_handler(message, get_api_id)
def get_api_id(message):
print(message.text)
with open('C:/Users/асер/Desktop/python/bot/api_id.txt', 'a') as f:
f.write(message.text + '\n')
bot.send_message(m.chat.id, 'Прекрасно!')
sql = "UPDATE users SET balance = balance + \
CASE WHEN buster1 = 'Нет' AND buster2 = 'Нет' AND buster3 = 'Нет' THEN 0.010 \
WHEN buster1 = 'Да' AND buster2 = 'Нет' AND buster3 = 'Нет' THEN 0.050 \
WHEN buster1 = 'Да' AND buster2 = 'Да' AND buster3 = 'Да' THEN 0.100 \
END \
WHERE id = ?"
text = 'Как съесть яблоко?'
text = str.translate(text, str.maketrans('', '', '.,?:-;/\\'))
currency, amount = message.text.split()[1:]
def patronymic(message): #получаем отчества
...
cursor.execute("INSERT INTO Profile (user_id, name, surname, patronymic) VALUES (?, ?, ?, ?)", (user_id, name, surname, patronymic))
async def process_start_command(message: types.Message):
number1 = message.text.split()[1]
if not (number1.isdigit() and 1 <= int(number1) <= 1000):
await message.answer(f'введите число меньше 1000')
else:
random_number = random.randint(0, int(number1))
@bot.message_handler(commands=['start'])
photo = max(msg.photo, key=lambda x: x.height)
file_id = photo.file_id
<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 ")
...
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, "...")
@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)
@bot.messege_handler(content_types=['text'])
@bot.handler_backends(content_types=['text'])
@bot.message_handler(content_types=['text'])
CREATE TABLE IF NOT EXISTS post_likes (
id integer primary key,
post_id integer, -- id поста
user_id integer, -- id пользователя
likes integer
);
select sum(likes) total_score, -- общий счет
sum(case likes when 1 then 1 end) sum_likes, -- кол-во лайков
sum(case likes when -1 then 1 end) sum_dislikes -- кол-во дизлайков
from post_likes where post_id = нужный_id_поста
bot.register_next_step_handler(sent, audio_description, audio)
...
def audio_description(message, audio):