Рубрики
Без рубрики

WFX & DERP Wars (клон допинга) [Live Coding Recap]

Поток: 11/05 на повергивании 🔴 Часы ⇒ Twitch Vod (Replay) Первая цель ночи была … Помечено с Python, начинающим, живописи, дергаться.

Рекомендация потока в прямом эфире (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”