@bot.message_handler(commands=['selection'])
def bujet(message):
is_age = False
if not is_age:
bot.send_message(message.chat.id, "Ваш бюджет:")
age = 0;
@bot.message_handler(content_types=['text'])
def selection(message):
try:
age = int(message.text) #проверяем, что возраст введен корректно
bot.send_message(message.from_user.id, age)
is_age = True
except Exception:
bot.send_message(message.from_user.id, 'Цифрами, пожалуйста')
"Ну вот и всё! Неплохая получилась история. Интересная, весёлая, порой, немного грустная, а главное-поучительная! Она научила быть смелыми и не бояться вызовов, которые готовит нам жизнь. Помогала нам добиваться поставленных целей, несмотря ни на что. Но самое главное что у это истории счастливый конец!"
async def foo_srv2(dvs: list):
url = '********************'
async def create_ws(url: str, dvs: list):
async with websockets.connect(url) as ws:
await ws.send(f'{{"op": "subscribe", "args": {dvs}}}')
async for message in ws:
message = json.loads(message)
print(message)
futures = list()
for i in range(0, len(dvs), 10):
slice_dvs = dvs[i:i + 10]
futures.append(asyncio.create_task(create_ws(slice_dvs)))
await asyncio.gather(*futures, return_exceptions=True)
FROM python:3.10-alpine
WORKDIR /app
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
COPY ./src/requirements.txt .
RUN pip install --no-cache-dir -r /app/requirements.txt
COPY ./src .
version: '3'
services:
db:
image: postgres:15-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
expose:
- 5432
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
api:
build:
context: .
command: uvicorn main:app --host 0.0.0.0
ports:
- 8080:8000
environment:
- DATABASE_DSN=${DATABASE_DSN}
restart: always
depends_on:
- db
volumes:
postgres_data:
_dict = {"Oleg":{"act":0,"total":0},"Vitya":{"act":2,"total":4}}
result = [_.get('act') for _ in _dict.values()]
# [0, 2]
task_cb = CallbackData("task_menu", "task_type", "task_num")
# array = [{name: 'task_name_1', type: 'c', num: 123456}]
def task_keyboard(array):
markup = InlineKeyboardMarkup(row_width=2)
for task in array:
markup.insert(InlineKeyboardButton(text=task.get('name'),
callback_data=task_cb.new(task_type=task.get("type"),
task_num= task.get("num"))))
return markup
# Ловим колбэк
@dp.callback_query_handler(task_cb.filter())
async def show_task(callback: types.CallbackQuery, callback_data: dict):
type = callback_data.get("task_type")
num = callback_data.get("task_num")
type = callback[:1]
num= callback[1:]