from aiogram import types
async def set_default_commands(dp):
await dp.bot.set_my_commands([
types.BotCommand("start", "Запустить бота"),
types.BotCommand("help", "Помощь"),
types.BotCommand("test", "Тест"),
types.BotCommand("form", "Форма"),
types.BotCommand("menu", "Меню"),
])
from PIL import Image
# заменяет указанный цвет на прозрачный
def make_transparent(image, color):
new = []
for item in image.getdata():
if item[:3] == color:
new.append((255, 255, 255, 0))
else:
new.append(item)
image.putdata(new)
GREEN = (x, y, z) # указываем цвет нашего зеленого на "гринскрине"
img_filename = "images/image.png"
screen_filename = "images/green.png"
img = Image.open(img_filename).convert('RGBA')
screen = Image.open(screen_filename).convert('RGBA')
make_transparent(screen, GREEN)
new = Image.alpha_composite(img, screen)
new.save('new_image.png')
import vk_api
vk = vk_api.VkApi(token="") # авторизация через токен (желательно)
vk = vk_api.VkApi(login="", password="") # авторизация через логин и пароль
vk._auth() # Если авторизируетесь через лог и пароль
# получение имени и фамилии
user = vk.method("users.get", {"user_ids": 1}) # вместо 1 подставляете айди нужного юзера
fullname = user[0]['first_name'] + ' ' + user[0]['last_name']
link_string = "https://vk.com/id663629411"
user = link_string.split("/")[-1].replace("id", "")
id
, так что добавьте дополнительную проверку.user
из кода выше в параметр user_ids
random.choices([5,7], weights=[80,20], k=1)[0]
cum_weights
random.choices([5,7], cum_weights=[0.8, 1.0], k=1)[0]
@dp.callback_query_handler(text='rand')
принимает text, который нужен для обычных кнопок, после нажатия которых отправляется сообщение от пользователя.@dp.callback_query_handler(lambda c: c.data == 'amf')
async def randws(call: CallbackQuery):
await call.message.answer('gggg')
Ни на одном сайте нету нормальной инструкции.Неправда, есть офф. доки - docs.aiogram.dev. Но так как я не работал с данной библиотекой и не планирую - то я их читать за вас не хочу.
@dp.message_handler(content_types=['photo'])
async def scan_message(msg: types.Message):
document_id = msg.photo[0].file_id
file_info = await bot.get_file(document_id)
print(f'file_id: {file_info.file_id}')
print(f'file_path: {file_info.file_path}')
print(f'file_size: {file_info.file_size}')
print(f'file_unique_id: {file_info.file_unique_id}')
file_id: AgACAgIAAxkBAAIO2WBd12gIEuhnEzsUgfS_VguqIVMLAAK5sDEb0qrwSiETN9pic8VjZPdZoi4AAwEAAwIAA20AA3dRAAIeBA
file_path: photos/file_48.jpg
file_size: 12946
file_unique_id: AQADZPdZoi4AA3dRAAI
if 'Назад' in message.text:
await message.answer("Ты вернулся в главное меню", reply_markup=kb.markup_home)
@dp.message_handler(state=Update_account.UpdateFirstName)
async def answer_first_name(message: types.Message, state: FSMContext):
text = message.text
if text == "Назад":
await message.answer('Ты вернулся назад', reply_markup=kb.update_account)
await Update_account.Update.set()
else:
<тут действие если не нажата кнопка "Назад">
Inline keyboard
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.data == "comproxy":
comproxy_keyboard = types.InlineKeyboardMarkup()
call_button_comproxy_restart = types.InlineKeyboardButton(text="Restart", callback_data="comproxy_restart")
call_button_comproxy_status = types.InlineKeyboardButton(text="Status", callback_data="comproxy_status")
call_button_comproxy_back = types.InlineKeyboardButton(text="Назад", callback_data="back")
comproxy_keyboard.add(call_button_comproxy_restart, call_button_comproxy_status)
comproxy_keyboard.add(call_button_comproxy_back)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Выберите:",
reply_markup=comproxy_keyboard)
###
elif call.data == "back":
back_keyboard = types.InlineKeyboardMarkup()
call_button_back_comproxy = types.InlineKeyboardButton(text="Comproxy", callback_data="comproxy")
call_button_back_ser2net = types.InlineKeyboardButton(text="Ser2net", callback_data="ser2net")
call_button_back_cups = types.InlineKeyboardButton(text="Cups", callback_data="cups")
back_keyboard.add(call_button_back_comproxy, call_button_back_ser2net)
back_keyboard.add(call_button_back_cups)
bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
text='Чего изволите, господин?', reply_markup=back_keyboard)