*args, **kwargs, так что все данные можно сохранять просто в словарь и передавать в register_next_step_handler как еще один параметр FFD9 - последние байты изображения формата jpg. fimrin.jpg и сохраняет в better_fimrin.jpgf1 = open('orange.jpg', 'rb')
f2 = open('apple.jpg', 'rb')
with open('out.jpg', 'wb') as out:
out.write(f1.read()+f2.read())out.jpg, который в просмоторщике фото будет выглядеть как апельсин. Хотя на самом деле, после апельсина дописаны байты яблока. Очень упрощеноorangeblablablaFFD9applelalalalaFFD9f = open('fimrin.jpg', 'rb')
content = f.read()
with open('better_fimrin.jpg', 'wb') as out:
out.write(content[content.index(bytes.fromhex('FFD9')) + 2:]) python2 get-pip.pyкак винда будет понимать что мне нужно использовать в том или ином случае pip от той или иной версии Python?
python2 -m pip 
error в методе авторизации. 
?lastname фильтрация по фамилии
"last_name" in request.argsname и потом собрав их руками в formdata, и через fetch бросить на сервер. params = {'access_token': TOKEN, 'v': 5.131, 'message_ids': [369]}
r = requests.get('https://api.vk.com/method/messages.getById', params=params)
print(r.json()['response']['items'][0]['attachments'][0]['photo']['sizes'])r = requests.get('{server}?act=a_check&key={key}&ts={ts}&wait=90'.format(server=data['server'], key=data['key'], ts=data['ts'])).json()
print(r['updates'][0]['object']['message']['attachments'][0]['photo']['sizes']) headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'}
response = requests.get(url, headers=headers) @bot.command()
async def kick(ctx, member: discord.Member):@kick.error
async def kick_error(ctx: commands.Context, error: commands.CommandError):
# здесь уже делаем что хотим, в зависимости от класса ошибки. Например, если не хватило аргумента, то можно сделать так
if isinstance(error, discord.ext.commands.errors.MissingRequiredArgument):
await ctx.send('Недостаточно аргументов')можно также автоматически заходить на указанную почту, в которую пришло письмо с кодом, парсить его оттуда и вставлять в поле при регистрации
Придётся создавать аккаунт, отдельно для него. Все это, опять же, нужно автоматизировать, что, в свою очередь, займёт время и много лишний движений
Может, запрос перехватить?
headers = {'User-Agent': 'ваш UA'}
request.post(url, data=data, headers=headers)raw_req = requests.Request('POST', url, data=data)
prepared = raw_req.prepare()
s = requests.Session()
r = s.send(prepared) imprort json
data = {"chat_id": chat_id, "text": text, "reply_markup": json.dumps(reply_markup)}data = {"chat_id": chat_id, "text": text, "reply_markup": reply_markup}
requests.post(url, json=data)@dp.message_handler(state=Form.button)
async def process_button(message: types.Message, state: FSMContext):
# ну и тут дальше, либо новые шаги, либо сразу публикация
inline_kb = InlineKeyboardMarkup()
inline_kb.add(InlineKeyboardButton('Ссылка на страницу', url=message.text)) /unban @user1222, то можно использовать встроенный конвертер. async def unban(ctx,*, member: discord.Member):for i in range(len(lines)):
models_list.append(line.strip().split(' / ')[i])chunk_size = 9000
with open(file, 'rb') as f:
i = 0
while True:
data = f.read(chunk_size)
if data:
with open(f'chunk_{i}', 'wb') as f2:
f2.write(data)
else:
break
i += 1return user1@dp.message_handler(commands="ruletkaid")
async def inlinebtn(message: types.Message):
user1 = message.get_args()
user2 = message.from_user.username
keyboard = types.InlineKeyboardMarkup()
keyboard.add(types.InlineKeyboardButton(text="Принять", callback_data=f"accept_{user1}:{user2}"))
keyboard.add(types.InlineKeyboardButton(text="Не принимать", callback_data=f"decline_{user1}:{user2}"))
await message.answer(user1 + ', вас вызывает на дуэль ' + user2, reply_markup=keyboard)
@dp.callback_query_handler(lambda call: call.data.startswith('accept_'))
async def accept_duel(call: types.CallbackQuery):
user1, user2 = call.data.replace('accept_', '', 1).split(':')
if call.from_user.username != user1:
await call.answer(text="Не тебе адресовано.", show_alert=True)