Как стать автором
Обновить

Комментарии 12

Вот интересно — а как наиболее правильно организовать Continuous Delivery/Deploy на VPS-сервер?

denismaster
Ну, можно попробовать костыли, и в скрипте прописать скачивание/клонирование вашего приложения, этот скрипт добавить в /etc/init.d. После обновления приложения, просто необходимо перезагрузить сервер. Но, это костыли, а других способов непрерывной доставки и непрерывного внедрения я пока не изучал.

Можно пойти разными путями.
Но основные — это использовать git. С одной стороны вы заливаете код, с другой сервер его забирает. Можно использовать тут и jenkins, но как то оверкильнинько будет.
Как вариант поставить задание в cron, можно задействовать папет или ансибел.
В общем дальше уже как удобно. Можно и сам git в крон или некий скрипт.
У бота nadeko для этого есть вариант при каждом рестарте выкачивать из своего git репозитория последнюю версию исходников. Владельцу бота остается только выполнить команду .exit когда он хочет обновить бота.
Далее, вам необходимо залить бота на Git – сервис, вроде GitHub и ему подобные и склонировать на VPS — сервер, или, другими путями скачать вашего бота.
Самое простое и удобное — WinSCP

После того, как вы скачали вашего бота, вам необходимо его запустить. Для этого, вам необходимо:
А можно просто скомпилировать в «Self-contained», а чтобы не париться с кучей файлов — упаковать в один файл «Produce single file». Да, займет немного больше места, но зато не нужно задаваться вопросом какой .NET установлен, а просто взять и запустить.
А можно бота добавить на сервер дискорда, чтобы он читал определенные чаты?

Что вы имеете ввиду поз «засыпает» — что статус бота не онлайн? Это не влияет никак на работоспособность. По документации Discord нужно активировать токен 1 раз и можно с ним работать. Я писал на php бота — без проблем работает

Нет, что бот не будет принимать сообщения от пользователей.
Лирическое отступление. Я перешел на этот враппер с другого, когда discord опять прекратил поддержку версии API используемого мной враппера, и он не обновлялся. И два года я использовал этот враппер на сервере с пиковым онлайном до тысячи человек. Когда я прекратил поддержку, было желание сделать постмортем, но так и не сделал.
Мои выводы профана в ботах по ботостроению в дискорде:
  • В дискорде есть эмодзи реакции на сообщения, эмбеды и эдит сообщений. Что это нам дает? Ну самый простой пример — эмбед с изображением и парой кнопок в виде эмодзи реакции на сообщение, и клик по этим эмодзи переключает изображение. И вроде здорово, но API не позволяет слишком часто редактировать сообщение, так что если решите портировать дум в виде ASCII в дискорд, с контролами в виде эмодзи — у вас наверняка будут проблемы с частотой редактирования сообщений.
  • То как организованы и написаны доки мне сильно не понравилось, но есть discord сервер враппера, где можно спрашивать. Он не безлюден. На всякий случай уточню, это не русско говорящий сервер.
  • Я имплементировал автоматизированную модерацию. Одной из проблем было то что мне нужно было знать, имеет ли вызывающий пользователь право на проведение операции над целью. Решилось парой расширений поверх враппера.
  • Это был сервер игры, и люди часто задавали однотипные вопросы. Я разрабатывал функционал по автоматическому обнаружению этих вопросов и ответу. Всплыли неколько проблем.
    1. Вопросы могли быть в не предназначенных для вопросов каналов, и бот отвечал на них, юзер видел, что на его вопросы отвечают и задавал еще. Фиксится просто ограничением каналов для этого функционала до ботспама и вопросов.
    2. Ложные срабатывания. Когда у тебя сотни человек в онлайне и система которая автоматически распознает вопросы — что может пойти так?
    3. Пользователи любили шалить с этим функционалом, спрашивая заведомо бессмысленные вопросы, и радуясь ответам.

  • Если будете часто использовать одни и те же изображения — можно захостить какой-нибудь веб сервер и вставлять ссылки на изображений оттуда в эмбеды. Отлично работает, пока вы не отключите сервер с сообщениями.
  • Написать два слова как «диактрические символы» или как «Д̑йа̑к̆т̑р̆и̑ч̆е̑с̆к̑йе̑ ̮с̯и̮м̯в̮о̯л̮ы̯.̰̰̰̰̰», что по вашему выберет пользователь делая себе ник в дискорде? Пользователей второго типа больше чем хотелось бы.
Если будете часто использовать одни и те же изображения — можно захостить какой-нибудь веб сервер и вставлять ссылки на изображений оттуда в эмбеды. Отлично работает, пока вы не отключите сервер с сообщениями.

Можно и без веб сервера. В Дискорде создать скрытый канал, куда складывать нужные изображения, при просмотре изображения будет прямая ссылка «Открыть оригинал», которую и использовать (не только в Дискорде… только тссс)
Согласен, но так не удобно провайдить базу из сотен и тысяч иконок и иных изображений, а на моем проекте это было необходимо.
Мой знакомый использовал бесплатные фотохостинги для этого. Бота он использует и по сей день, а вот сидит ли он на той же реализации предоставления картинок — не знаю.
Будет ли дискорд выдавать пожатые версии картинок, если создавать эмбед сообщение с ссылками на картинки хранимые на серверах дискорда? Картинка которую ты приложил пожата?

Картинка которую ты приложил пожата?
Проверил, все совпадает до бита.
Я не спорю, хранить на Дискорде может и не очень удобно, но если в тексте с изображением использовать заметки-теги, то по ним можно неплохо искать нужные изображения.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации