M
post "/:bot_token"А в контроллере (или с помощью plug) проверяешь
conn.path_params["bot_token"]Size: a a a
M
post "/:bot_token"conn.path_params["bot_token"]SM
Application.fetch_env!/2 использовать!Application.compile_env!/2 с приходом 1.10M
Application.fetch_env!/2 использовать!System.get_env("BOT_TOKEN")LL
Application.compile_env!/2 с приходом 1.10LL
LL
@attr Application.fetch_env!(...)LL
SM
System.get_env("BOT_TOKEN")pipeline :telegram doCheckBotToken:
plug :accepts, ["json"]
plug MyAppWeb.Plugs.Telegram.CheckBotToken
plug Plug.Parsers,
parsers: [MyApp.Parsers.TelegramJSON],
pass: ["*/*"]
end
scope "/webhook/:bot_token", MyAppWeb do
pipe_through :telegram
post "/", WebhookController, :update
end
defmodule MyAppWeb.Plugs.Telegram.CheckBotToken do
@behaviour Plug
import Plug.Conn
require Logger
@impl Plug
def init(opts), do: opts
@impl Plug
def call(conn, _opts) do
if Map.get(conn.path_params, "bot_token") == Nadia.Config.token() do
conn
else
Logger.warn("Incoming webhook request didn't provide a valid bot token, halting...")
conn
|> send_resp(:no_content, "")
|> halt()
end
end
end
LL
pipeline :telegram doCheckBotToken:
plug :accepts, ["json"]
plug MyAppWeb.Plugs.Telegram.CheckBotToken
plug Plug.Parsers,
parsers: [MyApp.Parsers.TelegramJSON],
pass: ["*/*"]
end
scope "/webhook/:bot_token", MyAppWeb do
pipe_through :telegram
post "/", WebhookController, :update
end
defmodule MyAppWeb.Plugs.Telegram.CheckBotToken do
@behaviour Plug
import Plug.Conn
require Logger
@impl Plug
def init(opts), do: opts
@impl Plug
def call(conn, _opts) do
if Map.get(conn.path_params, "bot_token") == Nadia.Config.token() do
conn
else
Logger.warn("Incoming webhook request didn't provide a valid bot token, halting...")
conn
|> send_resp(:no_content, "")
|> halt()
end
end
end
M
pipeline :telegram doCheckBotToken:
plug :accepts, ["json"]
plug MyAppWeb.Plugs.Telegram.CheckBotToken
plug Plug.Parsers,
parsers: [MyApp.Parsers.TelegramJSON],
pass: ["*/*"]
end
scope "/webhook/:bot_token", MyAppWeb do
pipe_through :telegram
post "/", WebhookController, :update
end
defmodule MyAppWeb.Plugs.Telegram.CheckBotToken do
@behaviour Plug
import Plug.Conn
require Logger
@impl Plug
def init(opts), do: opts
@impl Plug
def call(conn, _opts) do
if Map.get(conn.path_params, "bot_token") == Nadia.Config.token() do
conn
else
Logger.warn("Incoming webhook request didn't provide a valid bot token, halting...")
conn
|> send_resp(:no_content, "")
|> halt()
end
end
end
МБ
SM
D
handle_demand(demand, state), которая принимает demand.handle_events. Она ничего не вызывает. handle_demand и передаёт мифическое значение demand, которое нигде не обозначено?PG
PG
D
PG
D
[A] -> [B] -> [C]A загружается список ссылок, которые надо обработатьB - несколько производителей-потребителей, которые эти ссылки обрабатывают и передают их в единственный CC эти обработанный данные единственным вызовом забрать.PG