Lua 登录后何时可以使用SendChatMessage?

Lua 登录后何时可以使用SendChatMessage?,lua,world-of-warcraft,Lua,World Of Warcraft,登录后,我想向公会频道发送一条聊天信息。 我目前正在收听以下事件: 玩家进入世界 公会成员名单更新 一旦他们(按顺序)开火,我想发送一条聊天信息。然而,它从来没有发出过警告。 代码: 同样值得注意的是,如果我手动触发它,它就会工作。 我确实看到“应该发送”打印语句每次都出现在默认的聊天窗口中——正如预期的那样。我还检查了“msgToSend”是否包含内容,并且少于255个字符 那么,我什么时候可以调用SendChatMessage?您可能需要为事件设置一个标志,然后在另一个事件上打印 您可以在看

登录后,我想向公会频道发送一条聊天信息。 我目前正在收听以下事件: 玩家进入世界 公会成员名单更新

一旦他们(按顺序)开火,我想发送一条聊天信息。然而,它从来没有发出过警告。 代码:

同样值得注意的是,如果我手动触发它,它就会工作。 我确实看到“应该发送”打印语句每次都出现在默认的聊天窗口中——正如预期的那样。我还检查了“msgToSend”是否包含内容,并且少于255个字符


那么,我什么时候可以调用SendChatMessage?

您可能需要为事件设置一个标志,然后在另一个事件上打印

您可以在看到欢迎信息或发布欢迎信息后随时发送聊天信息。这是在你能够从你的帧接收事件之后不久


以下是我要完成类似任务的步骤:

只需将发送代码放入宏中,首先对其进行测试。在看到消息在宏中工作之前,不要担心消息的计时问题

您可以自行打印以向聊天窗口发送一般消息,该窗口的工作原理应与以下类似:

function MyPrint( msg, r, g, b, frame, id)
    (frame or DEFAULT_CHAT_FRAME):AddMessage(msg, r or 1, g or 1, b or 0, id or 0)
end

-- put these in your event handlers
MyPrint("event PLAYER_ENTERING_WORLD")

MyPrint("event GUILD_ROSTER_UPDATE")
并将其用于调试

你需要分而治之,因为有太多的事情可能会导致你的问题,这里没有人能真正有一个明确的答案


我可以肯定的是,如果你试图在欢迎留言之前写下聊天内容并打印出来,至少以前是不起作用的。我记得在过去,在某个事件触发之前,我一直在后台处理消息,然后打印它们

好的,为了能够向公会发送聊天信息,你需要等待“俱乐部流订阅”事件触发

这是因为公会频道变成了某种“社区”频道——以前,这似乎不是必需的

因此,添加事件侦听器:

frame:RegisterEvent("CLUB_STREAM_SUBSCRIBED");

解决问题。

您能否澄清您的问题,给出上下文代码等?这是完整的文件-应该显示注册事件、响应事件,最后迭代通过公会成员列表获取在线成员,最后发送公会聊天信息。插件是一个正在运行的帮会笑话,我们应该在登录时向所有人致意……:)这很方便——我刚开始寻找更多的事件,最终找到了一个有意义的事件。“俱乐部”是我需要的!
frame:RegisterEvent("CLUB_STREAM_SUBSCRIBED");