Поддержка прокси
grammY позволяет настраивать выполнение сетевых запросов. В каждый запрос дополняется пользовательский payload
, позволяющий установить прокси-агента. Посмотрите Api
в документации grammY API.
В Deno вот как можно использовать http
прокси:
import { Bot } from "https://deno.land/x/grammy@v1.30.0/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 чат.