Комментарии 18
А на данный момент я рассказал все, что хотел, буду рад ответить на ваши вопросы, предложения и комментарии!
Комментариев нет :/
А статья хорошая, и бот тоже(по описанию, пока он мне ничего не прислал). Жду, когда ты прикрутишь кинопоиск, потому что вбивать руками 20-30 фильмов — ну такое себе. Надеюсь, ты не затянешь это на месяцы, не хочется пилить своего бота ради одной фичи.
P.S. А фильм который я добавлял в библиотеку уже вышел на торренты в HDRip(1980*...).
В плане кинопоиска, уже несколько человек писали про это, так что попробую что-нибудь придумать в ближайшее время. Ну а насчет того, что вы смогли добавить уже вышедший фильм, тут я поделать ничего не могу, увы. Сейчас для проверки используется сайт RG Scarabey, это единственная группа, которая всегда выкладывает фильмы только в хорошем качестве и без рекламы. Если вы знаете какие-то альтернативы или трекеры, где фильмы появляются только в хорошем качестве, я был бы благодарен если бы вы ими поделились :)
Полную настройку. И как быть если провайдер блокирует телеграмм?
- Токен для бота получается через @BotFather
- IMDB_API_KEY получается через OMDB Api
- В проекте используется MongoDB, соответственно создайте новую БД и пропишите ее название
- Если хотите заморачиваться с вебхуками, то вам нужен сертификат и порт, на котором они будут слушать обновления от Телеграма
- ADMIN_ID и ADMIN_PASSWORD используются для админки, соответственно. Для первого следует использовать ваш собственный id аккаунта.
Относительно блокировки, ничего конкретного сказать не могу. У меня бот хостится вне РФ, поэтому никаких проблем с этим нет. Обход нужно использовать непосредственно пользователям, если телеграм у них не работает. Ну а так, можете попробовать настроить прокси для long polling'а, но не уверен, насколько просто это будет сделать.
ADMIN_ID и ADMIN_PASSWORD используются для админки — для админки бота? или чего?
Для первого следует использовать ваш собственный id аккаунта. — аккаунта чего?
простите за непонимательность
буду глупые вопросы задавать
пока буду пример из телеграфа тащить через проксю
подскажите что за хостинг если не секрет
Ок, возможно стоило написать более подробно :)
ADMIN_ID и ADMIN_PASSWORD используются для доступа к админке бота. Там можно посмотреть статистику по пользователям или отправлять сообщения от лица бота. Чтобы зайти туда нужно написать боту из главного меню /admin password, где password это ADMIN_PASSWORD.
А ADMIN_ID это id, который телеграм выдал вам когда вы сделали аккаунт. Чтобы его узнать, вы можете либо зарегистрироваться в боте в своем инстансе и проверить базу данных (там появится пользователь, поле _id и есть id телеграма), либо создать аккаунт в моем боте (ссылка есть в конце статьи), там зайти в настройки -> об аккаунте. Там также будет написан ваш id.
А в плане хостинга, я использую DigitalOcean, стоит 6 евро в месяц за минимальную комплектацию, которой тем не менее хватает для нескольких ботов, VPN и ещё некоторых вещей.
Понравилась архитектура вашего бота, и сейчас пытаюсь сделать что-то свое на основе вашего. Скажите, а почему вы в этом файле https://github.com/dmbaranov/evemovies-bot/blob/master/src/bot.ts делаете во 2-й строчке
require('./models');
а затем во 11-й строке
import User from './models/User';
Насчет
require('./models');
, я могу ошибаться, но это сделано для того, чтобы зарегистрировтаь все доступные модели в mongoose и потом не пришлось бы делать это по отдельности. A
import User from './models/User';
уже потому, что мы обращаемся к этой модели на 133 строкеПо моему регистрировать это лишнее.
Скачал ваш проект и появились еще пару вопросов. Почему когда вы определеляли тип для ContextMessageUpdate
вы не сделали interface ContextMessageUpdate extends Context
? Без этого он ругается, что поля ctx.from
, ctx.reply
и так далее незадекларированы у меня. Вы просто игнорировали эти warnings или у меня что-то неправильно настроено и они не должны были появится?
П.С. Делаю первые шаги в typescript и поэтому может спрашиваю элементарные вещи.
Странно, у меня в WebStorm куча ошибок связанных с типизацией
В любом случае я вам еще раз благодарен за статью. Я долго сомневался какой фреймворк выбрать, и вообще выбирать фреймворк, а сейчас доволен как слон telegraf. Все остальное мелочи приходяще/уходящие.
Ну и рад, что смог помочь вам определиться с выбором. Я тоже в свое долгое время определялся с выбором фреймворком и пока ни разу не пожалел что выбрал telegraf. Особенно его концепция со стейджами очень сильно помогает в разработке :)
Разрабатываем Telegram-бота для отслеживания фильмов на NodeJS и TypeScript