Discord py не отправляет сообщения при вызове из метода after из voice.play(... after=...)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Discord py не отправляет сообщения при вызове из метода after из voice.play(... after=...)

Сообщение Anonymous »

Код: Выделить всё

from discord.ext import commands
from discord import FFmpegPCMAudio
from asyncio import run

FFMPEG_OPTIONS = {'before_options': '-avioflags direct', 'options': '-vn -sn -dn -movflags +faststart -b:a 49k'}
class Play(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.run = False
self.voice = ""

async def play_song(self, ctx ,data=()):
if data != ():
data = "+".join(data)
print(data)
else:
print("Passes Automatically")
await ctx.send("auto pass")

await ctx.send("playing")

source = FFmpegPCMAudio("https://www2.iis.fraunhofer.de/AAC/ChID-BLITS-EBU-Narration.mp4", **FFMPEG_OPTIONS)
await self.voice.play(source, after=lambda x=None: run(self.play_song(ctx)))

@commands.Cog.listener()
async def on_ready(self):
print("Play is working")

@commands.command(pass_context=True)
async def play(self, ctx, *initial_user_input):
if not self.run:
if ctx.author.voice:
channel = ctx.message.author.voice.channel
self.voice = await channel.connect()
self.run = True
await self.play_song(ctx, initial_user_input)
else:
await ctx.send("Channel Not Found")
else:
await self.play_song(ctx, initial_user_input)

async def setup(bot):
await bot.add_cog(Play(bot))
Приведенный выше код — это то, что я использую, он работает нормально (отправка сообщения и т. д.), когда play_song вызывается из команды воспроизведения. когда метод play_song вызывается из лямбда-функции. он работает как положено, пока не достигнет await ctx.send("testing"). Очевидно, он должен отправить сообщение в канал разногласий, но оно зависает на неопределенный срок.
Я пробовал вызвать функцию воспроизведения из лямбда-функции (та же проблема). Я пробовал передать идентификатор канала вместо контекста, но ничего не помогло. Я запустил его без ожидания, и в этот момент он просто говорит, что его никогда не ждали. Я также протестировал его с помощью асинхронного генератора на случай, если это был asyncio.run, но та же проблема. Помощь оценена по достоинству.

Подробнее здесь: https://stackoverflow.com/questions/790 ... d-from-voi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сбой сборки и сбой приложения после добавления @react-native-voice/voice в React Native 0.75 во время обновления версии
    Anonymous » » в форуме Android
    0 Ответы
    55 Просмотры
    Последнее сообщение Anonymous
  • [Android] [expo] [@React-Con-Voice/Voice] [TypeError: не может прочитать свойство «StartSpeech» NULL]
    Anonymous » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как написать бот Discord Auto-voice на python disnake?
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Сеанс Discord Voice Websocket 4006 «Сессия больше не действительна».
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Сеанс Discord Voice Websocket 4006 «Сессия больше не действительна».
    Anonymous » » в форуме Python
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»