Рекомендация потока в прямом эфире (14 частей серии)
Поток: 11/05 на повергивании
🔴 Смотреть ⇒ Подергивайтесь вод (воспроизведение)
Первая цель ночи было произвольное звукоистовое звучание для воспроизведения во время потоков, когда указаны некоторые слова «триггер».
Пример: Кто-то в чате говорит: «WOW» в предложении и случайном зажим Оуэна Уилсона Сейн «Ух ты» играет.
Затем мы начали работать на клоне допинга войн (которые мы назвали военными войнами).
Ждать… Допинг войн ?? Какие!?
В том, что могло бы составить лучшую/худшую идею, которую я когда-либо имел, чат, и я начал работать над клоном допинга войн (ака аптеки ). Сменные воины DURP со зрителями плана состоит в том, чтобы использовать игру в образовательном контенте. Ожидайте полный учебник на разработке, а также на следующей неделе или около того!: D.
Язык (ы) Используется: Python Tech & lib (ы) используется: Vscode. , Twitchio Репозиторий проекта ⭐ Deverthonk.
👇 Код и заметки из потока вниз ниже!: D.
Во время потока мы …
✔ Продолжение работы над случайной функцией SFX, мы начали последний поток ✔ Реализовано, что нам нужно HONK Планета
Футболки ✔ Примечание, чтобы получить Большая Dict () Энергия
Футболки тоже сделали ✔ создал класс для взаимодействия с сервером ✔ Получил случайные SFX, работающий и отмечаемый 🎉 (вау) ✔ взволнован, потому что мы думали, что ручей сломался ✔ начал работать на военных войнах ✔ Получил основной MVP! ✔ на рейд @Highgai. , Рад японский/английский стримерный
Вот какой-то код, который мы писали во время потока …
В приложении Bot мы слушаем События сообщения
Отказ Когда происходит событие сообщения, мы Tokenize ™ Содержание, проверьте, было ли сказано ли сложное слово, затем выделяйте событие WebSocket на сервер для воспроизведения звука, если он будет.
# in events.py randos = server_interface.get_randos() # get sfx trigger words from server @bot.listen("event_message") async def rando_sfx(ctx): 'listens for certain words then triggers a sfx from them' # make sure bot ignores itself author = ctx.author.name.lower() if author == twitch_bot_nick.lower(): return # listen for trigger words in messages for word in randos: if word.lower() in ctx.content.lower().split(' '): # emit ws event to call the sfx from teh server await emit_rando_sfx(word.lower()) log.debug(f"WE HEARD A WORD!! ({word})") # it's bird
Функция, которая испускает WS, довольно проста. Он просто разговаривает с сервером Flask, который принимает источник браузера, который очередей и воспроизводит аудио.
# in server_interface.py async def emit_rando_sfx(word): 'tell teh server a rando sfx word was said' await sio.emit(event='rando', data=word)
Когда сервер получает WS, все как «aiight, я позволю странице знать. «Тогда это Пистолеты пальцев в бесконечность . 👈😎👈.
# in server.py (the Flask app) @socketio.on('rando') def sfx_event(word, methods=['GET', 'POST']): 'Recievs SFX requests from bot app & triggers SFX on the Browser Source' word_said = str(word) # i'm tellin ya, it's bird. # choose a random file in directory random_file = random.choice(os.listdir(f'static/sfx/randos/{word_said}/')) # emit play rando sfx to the webpage thingy socketio.emit('rando triggered', [word_said, random_file]) log.debug(f"RANDO Triggered => {word_said}")
С этого момента веб-страница просто слушает WebSocket и очередь аудио для воспроизведения.
// in sfx.js socket.on( 'rando triggered', msg => { addToQueue(`/static/sfx/randos/${msg[0]}/${msg[1]}`); })
Есть несколько твиков, которые нам нужно сделать в код, чтобы сделать его безупречным. Например, поскольку мы токеризируем/расщепляющиеся пробелами, этот код не будет работать с триггерными словами рядом с пунктуацией любого рода. Мы решаем эти проблемы на предстоящем потоке.:)
График живой кодировки
Это в значительной степени обертывает вещи для этого потока. Если у вас есть какие-либо вопросы о коде, Python, или любой из Tech, используемых в целом – качаются во время живого потока и скажите Hello!
💜 Следуйте на Подергивание
Я поток Python Coding & Lame jokes ™ на Подергивание Каждый вторник, четверг и суббота около 7 вечера PST.
На сегодняшний день расписание Проверьте мой закрепленный пост на Twitter Отказ
Рекомендация потока в прямом эфире (14 частей серии)
Оригинал: “https://dev.to/ninjabunny9000/triggering-sfx-derp-wars-a-dope-wars-clone-live-coding-recap-oi5”