// Массив кнопок для каждой социальной сети
const socialNetworks = [
{ name: 'YouTube', url: 'https://www.youtube.com/@tehno.maniak', type: 'social' },
{ name: 'Telegram', url: 'https://t.me/tehnomaniak07', type: 'social' },
{ name: 'Vk', url: 'https://vk.com/public212223166', type: 'social' },
{ name: 'ДЗЕН', url: 'https://dzen.ru/filimonov-blog.ru', type: 'social' },
{ name: 'TikTok', url: 'https://www.tiktok.com/@texno_maniak', type: 'social' },
{ name: 'X', url: 'https://twitter.com/F1L_zZz', type: 'social' },
{ name: 'Instagram', url: 'https://www.instagram.com/tehnomaniak_blog/', type: 'social' },
{ name: 'Boosty', url: 'https://boosty.to/tehnomaniak', type: 'social' },
];
// Массив кнопок для каждой категории промокодов и скидок
const promoCodes = [
{
name: '',
url: '',
code: 'tehnomaniak',
description: '1 месяц в подарок при оплате сервера на 1 год',
type: 'promo'
},
{
name: '',
url: '',
code: 'super',
description: '3 месяца в подарок при оплате сервера на 2 года',
type: 'promo'
},
{
name: '',
url: '',
code: 'Не нужен, скидка предоставляет при переходе по ссылке',
description: 'Скидка 7% на курсы Яндекс Практикум',
type: 'promo'
},
];
module.exports = { socialNetworks, promoCodes };
Этот бот работает по вебхукам или по методу поллинга?
Конкретно этот — поллит, для хуков grammy нужен отдельный веб-сервер. https://grammy.dev/guide/deployment-types#how-to-use-webhooks
readFileSync отличная функция для высоконагруженных систем