Size: a a a

2020 April 20

T

Tishka17 in aiogram [ru]
class PrefixCallbackData:
   def __init__(self, prefix):
       self.prefix = prefix

   def check(self, c: CallbackQuery):
       return c.data.startswith(self.prefix)

   def parse(self, data: str) -> str:
       if not data.startswith(self.prefix):
           raise ValueError("data does not match prefix")
       return data[len(self.prefix):]

   def render(self, data) -> str:
       return f"{self.prefix}{data}"


я родил велосипед и такое встроенное есть или норм?
источник

Е

Егор in aiogram [ru]
Tishka17
не вижу смысла asyncio для такой нагрузки
Жалко ты еще с gino не работал
источник

t

this is not mrklf in aiogram [ru]
ууу, нет тайпхинта в render
источник

T

Tishka17 in aiogram [ru]
this is not mrklf
ууу, нет тайпхинта в render
лень было Any писать
источник

G

Gabben in aiogram [ru]
Tishka17
class PrefixCallbackData:
   def __init__(self, prefix):
       self.prefix = prefix

   def check(self, c: CallbackQuery):
       return c.data.startswith(self.prefix)

   def parse(self, data: str) -> str:
       if not data.startswith(self.prefix):
           raise ValueError("data does not match prefix")
       return data[len(self.prefix):]

   def render(self, data) -> str:
       return f"{self.prefix}{data}"


я родил велосипед и такое встроенное есть или норм?
callback data factory
источник

T

Tishka17 in aiogram [ru]
Gabben
callback data factory
он не так работает
источник

T

Tishka17 in aiogram [ru]
Gabben
callback data factory
ему нужен разделитель
источник

t

this is not mrklf in aiogram [ru]
Tishka17
лень было Any писать
ну так можно было написать не Any, а нормальный типчик!
источник

T

Tishka17 in aiogram [ru]
this is not mrklf
ну так можно было написать не Any, а нормальный типчик!
так тут Any, ведь неявно вызывается str для объекта
источник

t

this is not mrklf in aiogram [ru]
протокол тогда уж, SupportsStr
источник

s

std::mpa in aiogram [ru]
this is not mrklf
в vkwave есть vkwave.bots.easy.make_great_bot
неплохие теги
источник

t

this is not mrklf in aiogram [ru]
😎👍
источник

S

Sergey in aiogram [ru]
Tishka17
class PrefixCallbackData:
   def __init__(self, prefix):
       self.prefix = prefix

   def check(self, c: CallbackQuery):
       return c.data.startswith(self.prefix)

   def parse(self, data: str) -> str:
       if not data.startswith(self.prefix):
           raise ValueError("data does not match prefix")
       return data[len(self.prefix):]

   def render(self, data) -> str:
       return f"{self.prefix}{data}"


я родил велосипед и такое встроенное есть или норм?
а зачем prefix в callback data?
источник

T

Tishka17 in aiogram [ru]
Sergey
а зачем prefix в callback data?
хз, уже такие кнопки в проде, делаю, чтобы не ломать совместимость
источник

t

this is not mrklf in aiogram [ru]
Tishka17
class PrefixCallbackData:
   def __init__(self, prefix):
       self.prefix = prefix

   def check(self, c: CallbackQuery):
       return c.data.startswith(self.prefix)

   def parse(self, data: str) -> str:
       if not data.startswith(self.prefix):
           raise ValueError("data does not match prefix")
       return data[len(self.prefix):]

   def render(self, data) -> str:
       return f"{self.prefix}{data}"


я родил велосипед и такое встроенное есть или норм?
фу, и префикс без типчика
источник

T

Tishka17 in aiogram [ru]
this is not mrklf
фу, и префикс без типчика
отстань =D
источник

T

Tishka17 in aiogram [ru]
Sergey
а зачем prefix в callback data?
чтбы фильтровать по префиксу
источник

S

Sergey in aiogram [ru]
Tishka17
чтбы фильтровать по префиксу
дак callback data factory это и делает, ну там фильтрация по action только, но суть то одна и та же
источник

T

Tishka17 in aiogram [ru]
делаю action_data = PrefixCallbackData("actionname")
в фильтр идет action_data.check
а в коде parse и render
источник

T

Tishka17 in aiogram [ru]
Sergey
дак callback data factory это и делает, ну там фильтрация по action только, но суть то одна и та же
неа, не это. Он по разделителю делит
источник