Deno запускает TypeScript как есть и загружает пакеты npm прямо из ваших импортов. Чтобы запустить бота на Deno:
- Смените тип: на странице Бот, в разделе Код, нажмите Изменить, что запускается рядом с полем Среда выполнения и выберите Deno Bot.
- Загрузите свои файлы в Files.
- Проверьте Файл запуска (по умолчанию
main.ts) на странице Бот, в разделе Код. - Вставьте токен в разделе Discord и нажмите Подключить.
- Нажмите Запустить и следите за Console.
1. Смените тип на Deno Bot
На странице Бот, в разделе Код, нажмите Изменить, что запускается рядом с полем Среда выполнения и выберите Deno Bot. На компьютере то же окно открывает метка типа вверху страницы (например, Node.js Bot). Не ставьте галочку Удалить мои файлы и начать с чистого листа., чтобы файлы остались. См. Как переключить бота на другой язык. Установка скачивает Deno на ваш сервер.
2. Добавьте свой код
Загрузите свои файлы .ts (и deno.json, если он у вас есть) в Files: заархивируйте папку в zip, загрузите, отметьте архив и нажмите Распаковать. Или выберите источником Git-репозиторий в разделе Код: Как развернуть и обновлять Discord-бота из GitHub.
3. Задайте, как он запускается
- Файл запуска (карточка Как он запускается): по умолчанию
main.ts, напримерsrc/bot.ts. - Версия Deno (карточка Настройки):
latestили номер релиза, например2.5.4.
Поля Пакеты здесь нет: Deno скачивает то, что названо в ваших импортах (npm:, jsr: или URL), при первой загрузке и сохраняет для последующих запусков.

4. Вставьте токен и запустите
В разделе Discord вставьте токен и нажмите Подключить. Нажмите Запустить и откройте Console. Вы увидите версию Deno, например [PlayNHost] Deno 2.5.4, затем [PlayNHost] Starting your bot. Бот работает через deno run -A: все разрешения выданы внутри вашего собственного сервера, поэтому флаги --allow не нужны. Его память ограничена 80 процентами памяти вашего тарифа.
Минимальный бот на Deno с discord.js
main.ts
import { Client, Events, GatewayIntentBits } from "npm:discord.js@14";
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once(Events.ClientReady, (c) => {
console.log(`Logged in as ${c.user.tag}`);
});
client.login(Deno.env.get("DISCORD_TOKEN"));
Первый запуск скачивает discord.js, поэтому занимает чуть больше времени. Строка Logged in as переключает метку на странице Обзор на Онлайн в Discord. Можно также использовать discordeno, библиотеку, созданную для Deno.
Как сменить версию Deno
Deno скачивается при установке сервера. Чтобы запустить другой релиз:
- В разделе Код, в карточке Настройки, задайте Версия Deno номером релиза, например
2.5.4, и нажмите Сохранить. - Перезапустите бота. Консоль покажет
[PlayNHost] The Deno version changed to v2.5.4.и[PlayNHost] Downloading Deno v2.5.4, а затем запустит вашего бота с этой версией.
latest оставляет уже скачанный релиз и сама не обновляется. Чтобы перейти на самый новый релиз, либо впишите его номер, либо оставьте latest и нажмите Переустановить внизу раздела Код: установка скачает Deno заново, а ваши файлы останутся.
При перезапуске ничего не происходит? На вашем сервере всё ещё старый стартовый скрипт, который читает версию только при установке. Один раз нажмите Переустановить: он установит заданную вами версию и самый новый стартовый скрипт.
Если консоль пишет, что Deno скачать не удалось, проверьте, что введённая вами версия действительно существует среди релизов Deno, в разделе Код в карточке Настройки, Версия Deno, затем снова нажмите Запустить.
Другие строки консоли
| Строка | Что делать |
|---|---|
[PlayNHost] Your bot is not set up yet: the main file main.ts was not found. | Загрузите свои файлы или впишите в Файл запуска настоящее имя и папку. |
Ошибка импорта пакета npm: или jsr: | Проверьте название и версию пакета в импорте. |
Ключи и пароли хранятся в разделе Окружение и читаются через Deno.env.get: Как задать переменные окружения и секреты. TypeScript на других типах: Как запустить Discord-бота на TypeScript.



