await iface.call_method('bla')
. Ты уверен, что обновление свойства произойдёт после завершения await? Если оно произойдёт до, то твой вызов wait_property() не увидит обновлений. Возможно, стоит вешать callback до вызова call_method()? Ранее для личных целей с личного телефона пользовался данным сервисом - проблем не было (так что вряд ли сам сервис занимается воровством).
# discord.py попытается сначала интерпретировать первый аргумент как пользователя.
# Если не получится - будет просто строка
async def nick(ctx, arg1: typing.Union[discord.Member, str], *, arg2: str = None):
if ctx.message.reference is not None and isintance(arg1, str): # сообщение - это ответ
member = ctx.message.reference.resolved.author
# arg1 будет содержать первое слово ника - доклеиваем к нему остальные.
newnick = f'{arg1} {arg2}' if arg2 is not None else arg1
elif ctx.message.reference is None and isintance(arg1, discord.Member) and arg2 is not None: # сообщение - не ответ
member, newnick = arg1, arg2
else:
... # выводим сообщение о неправильном использовании команды
await member.edit(nick = newnick)
@bot.event
async def on_raw_reaction_add(payload):
import typing as tp
class Test:
@tp.overload
def __init__(self, x: int, y: str):
... # тут не должно быть тела!
@tp.overload
def __init__(self, other: 'Test'):
... # typehint в виде строки, так как класс Test еще не создан. Тела нет!
def __init__(self, *args, **kwargs): # настоящий конструктор
# определяем, как нас вызвали
if 'other' in kwargs:
first_arg = kwargs['other']
x, y = first_arg.x, first_arg.y
elif 'x' in kwargs:
x, y = kwargs.get('x'), kwargs.get('y')
elif isinstance(args[0], Test):
x, y = args[0].x, args[0].y
else:
x, y = args[0:2]
self.x: int = x
self.y: str = y
def __repr__(self) -> str:
return f'Test(x={self.x!r}, y={self.y!r})'
# порядковая передача аргументов сработает
t1 = Test(1, 'foo')
t2 = Test(t1)
print(t1, t2)
# именованная передача аргументов сработает
t3 = Test(x=2, y='bar')
t4 = Test(other=t3)
print(t3, t4)
Test(3, y='baz') # а вот это сломается...
worker = Worker()
await worker.run()
TelegramClient('anon', api_id, api_hash, proxy=("socks5", '127.0.0.1', 4444))
proxy=('http', 'proxy.server',3128)
if ai.SeparateByName(ai.text) is True:
response = f'my name {ai.name}'
ai.TextToSpeech(response)
error_message = error_message.replace(r'\n', '\n')