Size: a a a

2020 January 23

G

Gabben in aiogram [ru]
Олег пишет статью на английском, её переводят и публикуют на хабре, переводчиком оказывается Oleg Romanyuk
источник

t

this is not mrklf in aiogram [ru]
Senpos
Импортируешь из него settings где угодно
Сам тебе раскопает из всех возможных конфиг файлов нужные
а как он определит что это конфиг?
источник

S

Senpos in aiogram [ru]
this is not mrklf
а как он определит что это конфиг?
У него есть правила откуда он тащит данные
источник

S

Senpos in aiogram [ru]
Нравится конфиги держать в toml?
Положи в проект settings.toml
Нравится в ямле? положи такой же в ямле
Есть сикреты? Положи файлик .secrets.toml
.env? берем
переменные окружения? есть
hashicorp vault? тоже
источник

S

Senpos in aiogram [ru]
в общем, прикольная штука
источник

G

Gabben in aiogram [ru]
Надо в ультраграм такие затащить
источник

t

this is not mrklf in aiogram [ru]
прикольно, надо будет подробнее посмотреть
источник

S

Senpos in aiogram [ru]
Можно валидацию натравить еще
источник

EF

Evgen Fil // 🤔 via @thinkerybot in aiogram [ru]
L
может у кого то есть декоратор для отправки
action=ChatAction.TYPING
во время обработки ответа? (ответы напрямую в вебхук)
await ChatAction.typing()

def typing(f):
 @functools.wraps(f)
 async def wrapper(*args, **kwargs):
   await ChatAction.typing()
   return await f(*args, **kwargs)
 return wrapper
источник

L

L in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
await ChatAction.typing()

def typing(f):
 @functools.wraps(f)
 async def wrapper(*args, **kwargs):
   await ChatAction.typing()
   return await f(*args, **kwargs)
 return wrapper
await message.chat.do(ChatActions.TYPING)
я выбрал этот вариант
источник

L

L in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
await ChatAction.typing()

def typing(f):
 @functools.wraps(f)
 async def wrapper(*args, **kwargs):
   await ChatAction.typing()
   return await f(*args, **kwargs)
 return wrapper
а вот за декоратор - большое спасибо, заберу
потому что идея встроить в mw не такая приятная - совсем не всегда хочется отправлять юзеру это действие, декоратором удобнее обрамить где нужно
источник

EF

Evgen Fil // 🤔 via @thinkerybot in aiogram [ru]
L
а вот за декоратор - большое спасибо, заберу
потому что идея встроить в mw не такая приятная - совсем не всегда хочется отправлять юзеру это действие, декоратором удобнее обрамить где нужно
Использовать если что так:

@dp.anything_handler(...)
@typing
async def handler(message):
 ...
источник

t

this is not mrklf in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
Использовать если что так:

@dp.anything_handler(...)
@typing
async def handler(message):
 ...
что за @typing?
источник

EF

Evgen Fil // 🤔 via @thinkerybot in aiogram [ru]
Выше
источник

t

this is not mrklf in aiogram [ru]
а, я думал в питоне уже аст изменять можно, для автохинтов.....
источник

EF

Evgen Fil // 🤔 via @thinkerybot in aiogram [ru]
Лол
источник

L

L in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
Использовать если что так:

@dp.anything_handler(...)
@typing
async def handler(message):
 ...
у меня уже был декоратор в другом боте не на этой библиотеке, эту не успел раскурить чтобы перенести его, спасибо ещё раз
источник

EF

Evgen Fil // 🤔 via @thinkerybot in aiogram [ru]
L
у меня уже был декоратор в другом боте не на этой библиотеке, эту не успел раскурить чтобы перенести его, спасибо ещё раз
Всегда рад помочь
источник

L

L in aiogram [ru]
Evgen Fil // 🤔 via @thinkerybot
Всегда рад помочь
единственная разница получилась с прошлым декоратором - туда передавался ещё update и context, здесь удобнее :)
источник

EF

Evgen Fil // 🤔 via @thinkerybot in aiogram [ru]
L
единственная разница получилась с прошлым декоратором - туда передавался ещё update и context, здесь удобнее :)
from aiogram.types import Update

Update.get_current()
источник