You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Discord Game SDK在C#中设置Rich Presence时遇TransactionAborted错误

解决Discord Game SDK C#版TransactionAborted错误

核心问题:缺少持续的回调处理循环

你的代码里仅调用了一次discord.RunCallbacks(),但Discord SDK需要持续、周期性地处理IPC通信和回调,单次调用无法完成UpdateActivity的完整RPC流程——这就是SDK未发送SET_ACTIVITY命令、最终返回TransactionAborted的根本原因。

修复步骤

  1. 添加持续的回调处理循环:必须在程序运行期间反复调用RunCallbacks(),确保SDK能和Discord客户端完成完整的通信交互。
  2. 调整CreateFlags(可选):若你的应用依赖Discord客户端运行,移除NoRequireDiscord标志,改用默认的CreateFlags.None,避免客户端存在时的通信异常。

修复后的完整代码示例

using System;
using System.Threading;
using Discord;

class Program
{
    static void Main(string[] args)
    {
        ulong clientID = 你的应用ID; // 替换为Discord开发者门户注册的应用ID
        bool isRunning = true;

        // 初始化Discord实例,建议使用默认标志
        using var discord = new Discord(clientID, (UInt64)CreateFlags.None);
        var activityManager = discord.GetActivityManager();

        // 构建Rich Presence活动
        var activity = new Activity
        {
            State = "Foo",
            Details = "Bar",
            Timestamps = new ActivityTimestamps
            {
                Start = DateTimeOffset.UtcNow.ToUnixTimeSeconds() // 可选:添加活动开始时间
            }
        };

        // 更新Rich Presence
        activityManager.UpdateActivity(activity, result =>
        {
            Console.WriteLine($"更新结果: {result}");
            if (result != Result.Ok)
            {
                Console.WriteLine($"错误详情: {result}");
            }
        });

        // 持续处理回调的主循环
        while (isRunning)
        {
            try
            {
                discord.RunCallbacks();
                Thread.Sleep(1000 / 60); // 保持约60fps的回调处理频率
            }
            catch (Exception ex)
            {
                Console.WriteLine($"回调处理异常: {ex.Message}");
                isRunning = false;
            }
        }
    }
}

额外排查点

  • 确保Discord客户端为最新版本:旧版客户端可能与SDK存在IPC通信兼容性问题。
  • 验证应用ID完全正确:复制时不要包含多余空格或字符,Discord客户端返回200仅代表ID验证通过,不代表后续通信无异常。
  • 匹配SDK与客户端版本:尽量使用Discord开发者门户提供的、与当前客户端版本对应的Game SDK。

内容的提问来源于stack exchange,提问作者user18686221

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 06:02:40