this.d = Cipher.getInstance("DESede/CBC/PKCS5Padding");
this.e = new SecretKeySpec(this.b, "DESede");
this.f = "pUJeQ3Tr".getBytes();
this.g = new IvParameterSpec(this.f);
this.d.init(2, this.e, this.g);
str2 = new String(this.d.doFinal(Base64.decode(URLDecoder.decode(str, "UTF-8"), 0)), "UTF-8");
@bot.message_handler(content_types=['text'])
def get_command(message):
if message.text == "Start":
root = tk.Tk()
img = ImageTk.PhotoImage(Image.open('lol.png'))
createNewWindow(root, img)
root.mainloop()
elif message.text == "Stop":
root.destroy()
src = [['255', '255', '255', '190', '190', '160', '76', '45', '78'],
['255', '255', '255', '190', '190', '160', '76', '45', '78'],
['255', '255', '255', '190', '190', '160', '76', '45', '78']]
int_src = [ list(map(int, row)) for row in src ]
red = [ row[0::3] for row in src ] #подразумеваю, что у тебя составляющие идут в порядке RGB
green = [ row[1::3] for row in src ]
blue = [ row[2::3] for row in src ]
image = cv2.merge((blue, green, red)) #opencv по умолчанию хранит изображения в BGR, а не RGB
@decorator("params")
def myfunc(func_params):
pass
def myfunc(func_params):
pass
wrapper = decorator("params")
myfunc = wrapper(myfunc)
registered_funcs = []
def decorator(param):
#вложенная функция - фактический декоратор
def wrapper(func):
global registered_funcs
#запоминаем декорируемую функцию
registered_funcs.append( (param, func) )
return func #не забываем её вернуть
#возвращаем wrapper, чтобы им можно было продекорировать целевую функцию
return wrapper
#пример использования декоратора
@decorator("foo")
def myfunc(x):
print("Hello from myfunc(), ", x)
print(registered_funcs)
#>>> [ ("foo", <function myfunc at 0xdeadf00d>) ]
#и мы можем этим списком пользоваться, например:
for arg, func in registered_funcs:
func(arg)
activities = sum([], (member.activities for member in ctx.guild.members))
game_names = [item.name for item in activities if instanceof(item, discord.Game)]
#если нужно только уникальные:
game_names = set(game_names)
@bot.message_handler(commands=['anketaone'])
def null_anketa_step(message):
pass
temp_wrapper = bot.message_handler(commands=['anketaone'])
def null_anketa_step(message):
pass
null_anketa_step = temp_wrapper(null_anketa_step)
def null_anketa_step(message):
pass
#какой-то другой обработчик
def some_other_handler(message):
pass
def init_bot(bot):
#а в этой функции мы регистрируем обработчики
bot.message_handler(commands=['anketaone']) (null_anketa_step)
#обрати внимание на две пары скобок. Вызов bot.message_handler() возвращает функцию (wrapper),
#и мы эту функцию тут же вызываем, передавая в неё обработчик
bot.message_handler(commands=['somethingelse']) (some_other_handler)
bot = ........ #создаём бота
from second_file import init_bot as init_second #импортируем второй файл
#функцию импортируем под другим именем, чтобы не было коллизий между файлами
init_second(bot) #вызываем функцию регистрации init_bot()
if __name__=='__main__':
bot.polling(none_stop=True)