Поддержка прокси
grammY позволяет настраивать выполнение сетевых запросов. В каждый запрос дополняется пользовательский payload, позволяющий установить прокси-агента. Посмотрите Api в документации grammY API.
В Deno вот как можно использовать http прокси:
import { Bot } from "https://deno.land/x/grammy@v1.38.3/mod.ts";
const client = Deno.createHttpClient({
proxy: { url: "http://host:port/" },
});
const bot = new Bot("", {
client: {
baseFetchConfig: {
// @ts-ignore
client,
},
},
});2
3
4
5
6
7
8
9
10
11
12
13
14
Обратите внимание, что вам нужно запустить это с флагом
-.-unstable
В Node.js вот как можно использовать прокси с пакетом socks (npm):
import { Bot } from "grammy";
import { SocksProxyAgent } from "socks-proxy-agent";
const socksAgent = new SocksProxyAgent({
hostname: host, // введите хост прокси-сервера
port: port, // введите порт прокси-сервера
});
const bot = new Bot("", {
client: {
baseFetchConfig: {
agent: socksAgent,
compress: true,
},
},
});2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Обратите внимание, что указание
compress:— это необязательная оптимизация производительности. Она не имеет никакого отношения к поддержке прокси. Она является частью значения по умолчанию дляtrue base, так что если вы все ещё хотите её получить, вам следует указать ее снова.Fetch Config
Заставить прокси работать может быть непросто. Свяжитесь с нами в Telegram чате, если у вас возникнут проблемы, или если вам нужно, чтобы grammY поддерживал дополнительные параметры конфигурации. У нас также есть русскоязычный Telegram чат.