Несколько месяцев назад друг подошел ко мне о создании бота чата Twitch, чтобы запустить игру в своем чате, пока они играли рандомизатор . Это дало бы часовать что-то делать, чтобы взаимодействовать с игрой, помимо просто наблюдения за тем, что будет отображаться и надеяться на абсолютную худшую комбинацию предметов, требующих самого длинного игрового времени для этого.
Я взял это и получил это до довольно работоспособного государства, с которым он был доволен. После этого, хотя я начал думать, что это может быть что-то, что другие люди хотели бы иметь возможность использовать тоже. Поэтому я начал работать над веб-версией, которая не требовала, чтобы бот был на месте на компьютере пользователя.
Вы можете отправиться в Угадать игровой сайт Чтобы попробовать себя. Я прошу прощения за то, что он не очень визуально радует, и, без сомнения, нет никаких сомнений, не имеет адаптивного дизайна вообще. На этом текущем пункте это в минимальном состоянии жизнеспособного продукта.
У меня тоже есть начал страницу Пальта Чтобы попытаться помочь финансировать проект, чтобы я мог провести больше времени, работая над этим. Это, вероятно, также лучшее место для получения Быстрый узор на том, как использовать сайт и бот Отказ
Остальная часть этого поста о моем путешествии, чтобы получить сайт на этот момент.
Сначала я хотел попытаться просто обернуть веб-интерфейс вокруг бота, который я уже создал для моего друга. Это звучит приятно, звучит легко. К сожалению, существующий бот был слишком близко связан с его конкретными потребностями и пытаясь написать все вокруг, что было трудоемким, и потребуется много работы, чтобы даже получить его в состояние паритета. Кроме того, что масштабирование чего-то, разработанного для одного пользователя, который должен использоваться многими пользователями, все сразу, сложно, учитывая все предположения, которые вы сделали во время написания его для одного человека.
Помимо того, что я экспериментировал с технологиями, которые я никогда раньше не использовал. А именно база данных NoSQL (Mongodb), и это заставило много головных болей самостоятельно даже до этого момента. Я не советую вашей первой попытке использовать что-то новое, чтобы быть для более крупного проекта. Я определенно должен был работать над несколькими меньшими приложениями, чтобы выучить пособия MongoDB, прежде чем пытаться на самом деле использовать его.
Вы, вероятно, слышали, вы никогда не должны переписать приложение с нуля. Я не говорю, что я не согласен с этой философией вообще. Если вы продолжите восстановление от царапин, и все больше никогда не добавят и улучшится к вашему программному обеспечению. Вы просто получите одно и то же программное обеспечение несколько разных способов, все из которых имеют что-то Вам не нравится в них. Однако я верю, что есть время и место для всего.
Если вы намного удобнее с другой технологией, чем тот, который вы используете, и вы знаете, что вы можете выполнить работу быстрее, используя его.
«Bot Chat, который позволяет пользователю запустить игры Games» и «веб-сайт, который позволяет бесчисленным пользователям начать и управлять гюджами в своих чатах», – это очень разные цели.
С этим веб-сайтом Game Guessing я почувствовал оба этих очень сильно. Я гораздо более знаком с базами данных SQL и смогу работать с ними намного проще, чем база данных NoSQL, которую я использовал для Solo Bot. Что касается второго, вполне возможно, что пользователи веб-сайта захотят его сделать по другому пути, чем Solo Bot, учитывая, что он был написан с очень конкретными требованиями, адаптированными к моему другу, что не все остальные обязательно будут делать. С учетом этих, я решил начать полностью.
Язык
При решении начать закончиться возник вопрос о «Что я использую, чтобы написать это? «Когда дело доходит до веб-разработки, большая часть моего знакомства с Java и PhP. Я мог бы выбрать один из тех, однако я фактически вносил вклад и ссылался на код для Окарина времени Randomizer Довольно часто, насколько недавно и весь фактический код рандомизатора находится в Python, поэтому я выросший на то время, привыкший к нему. Я также действительно не хотел пытаться настроить среду развития Java.
Веб-каркас
Попытка повторно реализовать все необходимое для запуска веб-сайта, просто будет глупо. Я решил пойти с колбой. Джанго заманчиво, но у него тоже много вещей, я не уверен, что мне нужно. Flask позволяет мне либо реализовать, либо установить пакет из всего, что мне нужно, когда мне это нужно.
Хранилище данных
Как я уже сказал, я пытался использовать NoSQL для Solo Bot, но хотел вернуться в базу данных SQL для этого сайта, так как я был гораздо более знаком с ними. Я решил пойти с PostgreSQL в течение других вариантов без другой причины, по которой знакомство.
Тем не менее, мне также нужен способ поделиться волатильной информацией между веб-сайтом и ботом, которые фактически присоединялись к чаты и запущены игры угадывания. У меня было несколько прохождение знакомства с Redis на предварительной работе, и хотя я на самом деле не сделал много работы с ним, некоторые быстрые тестирующие приложения позволили мне получить достаточно знакомо, что я чувствовал себя хорошо, используя его.
Хостинг
Я не хотел управлять VPS и держать его в курсе все время. У меня долгое время был приходится Heroku. Я хотел на самом деле придать ему некоторое использование.
Это было, вероятно, одно из самых больших различий между попытками прикрепить веб-интерфейс на старый бот и начинающим с нуля. Бросив один из верхней части старого, которого я почувствовал, как будто мне нужно было убедиться, что каждая особенность бота была способна управлять на веб-интерфейсе. Это было бы много работы, и я не мог быть уверен, кто бы все даже использовал более конкретные особенности или нет.
Было намного проще принять решение о том, что было бы абсолютным минимумом, чтобы быть полезным с новой игрой угадывания.
- Войдите с Twitch, чтобы создать учетную запись.
- Включите и отключите бот, чтобы он присоединиться, и расставит свой Twitch Chat по требованию.
- Создавайте «угадываемые» – элементы, которые вы могли бы попытаться догадаться.
- Разрешить несколько различных вариантов кодов, которые будут работать, так как иногда вы хотите дать элементы более короткие прозвища, чтобы облегчить их ввести.
- Есть бот чата, который мог:
- Начните угадывать игры.
- Принимайте догадки во время игры угадывания.
- Примите ответы во время угадывания игры.
- Предоставить пользователям правильные догадки точки.
- Разрешить пользователям увидеть, сколько очков они приобрели во время активной игры угадательства.
- Готово угадывать игры.
- Разрешить пользователям видеть, сколько общих точек у них есть.
Это все еще является справедливой функциональностью, но она дала мне прочную цель для работы.
Этот пост получил довольно долго, поэтому я думаю, что я закончу это здесь. Как вы можете видеть, мне удалось реализовать все эти элементы функциональности, которые я хотел добавить. Это тоже не заняло очень долго, мне удалось все сделать это в течение последнего месяца или около того.
Я не знаю, найдет ли кто-нибудь из этого интересного. Если вы это сделаете, я мог бы получить более подробную информацию о других аспектах игры угадывания. Надеюсь, есть что-то здесь, вы нашли интересным, и, возможно, вам удалось пройти свой путь через весь этот текст, для которого я поздравляю вас. Я понятия не имел, что собирался так много писать. Я надеюсь, что я не слишком много рознил.
Спасибо за чтение!
Оригинал: “https://dev.to/flagrama/a-guessing-game-for-twitch-chat-2gen”