Size: a a a

2020 April 20

T

Tishka17 in aiogram [ru]
тут фишка в том, что named tuple из сплита легко собрать
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Видимо, кто-то не читает доку (а нафиг она)
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Tishka17
тут фишка в том, что named tuple из сплита легко собрать
dataclass тоже
источник

T

Tishka17 in aiogram [ru]
ну в целом да
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Tishka17
угу
А как? 👀
источник

T

Tishka17 in aiogram [ru]
источник

T

Tishka17 in aiogram [ru]
Tishka17

class SepCallbackData:
   def __init__(self, prefix: str, type_: Type[NamedTuple], sep: str = "_"):
       self.prefix = prefix
       self.sep = sep
       self.data_type = type_
       if sep in prefix:
           raise ValueError(f"prefix cannot contain sep '{sep}'")

   def check(self, c: CallbackQuery):
       if c.data.startswith(self.prefix):
           params = c.data.split(self.sep)[1:]
           return {"callback_data": self.data_type(*params)}

   def render(self, *args, **kwargs) -> str:
       data = self.data_type(*args, **kwargs)
       return self.prefix + self.sep + self.sep.join(map(str, data))


запилил пока так
Отличненько вышло. Три разных префикса, но одинаковый набор полей внутри. И аннотация в колбэках одинаковая из-за этого
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Так, окей
А нахрена нужен этот NamedTuple, если всё ещё есть dataclass
источник

T

Tishka17 in aiogram [ru]
PyCodeCat # from meow import *
Так, окей
А нахрена нужен этот NamedTuple, если всё ещё есть dataclass
🤷‍♂️
источник

q

quavo in aiogram [ru]
кто-то что-то писал про память в питонбегинерсах, но я не уверен
источник

P#

PyCodeCat # from meo... in aiogram [ru]
dataclass пожирнее вроде будет
источник

KG

Kripta G in aiogram [ru]
Help!  Хочу добавить функцию чтобы когда, я отвечал командой на пересланное сообщение другого пользователя бот выдавал мне инфу об этом человеке (id, username, last_name т.д)
источник

T

Tishka17 in aiogram [ru]
тут по идее неизменяемые данные, так что сойдет named tuple
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Tishka17
тут по идее неизменяемые данные, так что сойдет named tuple
Справедливо
Но а вдруг я захочу что-то переприсвоить? (уже херню несу)
источник

T

Tishka17 in aiogram [ru]
да пофиг, можно вообще Type повесить
источник

P#

PyCodeCat # from meo... in aiogram [ru]
)
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Callable :DD
источник

q

quavo in aiogram [ru]
Kripta G
Help!  Хочу добавить функцию чтобы когда, я отвечал командой на пересланное сообщение другого пользователя бот выдавал мне инфу об этом человеке (id, username, last_name т.д)
ну вроде не сложно
делай хендлер на команду и точно в тг можно получить данные с сообщения, на которое ответили
источник

q

quavo in aiogram [ru]
ето надо в доке глянуть, а потом и в айограме да
источник

q

quavo in aiogram [ru]
Переслано от Show Json Bot
{
"update_id": 923209072,
"message": {
 "message_id": 285971,
 "from": {
  "id": 1034443264,
  "is_bot": false,
  "first_name": "cul",
  "username": "culnaen",
  "language_code": "ru"
 },
 "chat": {
  "id": 1034443264,
  "first_name": "cul",
  "username": "culnaen",
  "type": "private"
 },
 "date": 1587387438,
 "reply_to_message": {
  "message_id": 285970,
  "from": {
   "id": 285793787,
   "is_bot": true,
   "first_name": "Show Json Bot",
   "username": "ShowJsonBot"
  },
  "chat": {
   "id": 1034443264,
   "first_name": "cul",
   "username": "culnaen",
   "type": "private"
  },
  "date": 1587387434,
  "text": "{\n \"update_id\": 923209071,\n \"message\": {\n  \"message_id\": 285969,\n  \"from\": {\n   \"id\": 1034443264,\n   \"is_bot\": false,\n   \"first_name\": \"cul\",\n   \"username\": \"culnaen\",\n   \"language_code\": \"ru\"\n  },\n  \"chat\": {\n   \"id\": 1034443264,\n   \"first_name\": \"cul\",\n   \"username\": \"culnaen\",\n   \"type\": \"private\"\n  },\n  \"date\": 1587387434,\n  \"text\": \"test\"\n }\n}",
  "entities": [
   {
    "offset": 0,
    "length": 350,
    "type": "pre"
   }
  ]
 },
 "text": "test_1"
}
}
источник