# класс для загрузки файла
from aiogram.types import InputFile
...
# его и используем для загрузки нашего файла
await bot.send_photo(message.chat.id, InputFile(text1))
photo_info = max(message.photo, key=lambda x: x.height)
file_id = photo_info.file_id
file_info = await bot.get_file(file_id)
await bot.answer_callback_query(callback_query.id, 'Выбери удобное время')
@bot.message_handler(commands=['start'])
def start(message):
# соответственно берем первый аргумент
per = message.text.split()[1]
args = message.text.split()[1:]
per = args[0] if args else None
import telebot
from telebot import types
bot = telebot.TeleBot(TOKEN)
@bot.message_handler(commands=['start'])
def start(message):
keyboard = types.InlineKeyboardMarkup()
key_buy = types.InlineKeyboardButton(text='Покупка', callback_data='/buy')
key_info = types.InlineKeyboardButton(text='Инфо', callback_data='/info')
keyboard.add(key_buy, key_info)
bot.send_message(message.chat.id, 'Команды:', reply_markup=keyboard)
@bot.message_handler(content_types=["text"])
def handle_text(message):
if message.text.startswith('/'):
bot.send_message(message.chat.id, 'Неправильная команда')
@bot.callback_query_handler(func = lambda call: True)
def calls(call):
if call.data == '/buy':
bot.send_message(call.message.chat.id, 'Обрабатываем покупку')
elif call.data == '/info':
bot.send_message(call.message.chat.id, 'Вот инфо')
bot.polling(none_stop=True)
@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 = ?"
create table mytable (id integer primary key,
user_id integer,
....,
unique(user_id)
)
INSERT INTO mytable (user_id, user_name) VALUES (...) ON CONFLICT(user_id) DO NOTHING
result = cur.execute('select 1 from mytable where user_id = ?), (user_id, )).fetchone()
if not result:
# делаем insert
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
butt_1 = types.KeyboardButton("ПОЛУЧИТЬ ДЕНЬГИ")
butt_2 = types.KeyboardButton("БОНУС")
markup.add(butt_1, butt_2)
bot.send_message(message.chat.id, "Чё надо?", reply_markup=markup)
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'])
if message.reply_to_message:
bot.send_message(message.chat.id, ~f'@{message.from_user.username} Обнял @{message.reply_to_message.from_user.username}')
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_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):
# доступ есть, продолжаем
...
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, "...")