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

Pycord(discord.py分支)开发付费命令时如何让用户在Patreon结账页提交ID

Patreon结账流程收集Discord用户ID的实现方案

方法一:Patreon内置自定义字段配置

  • 进入Patreon创作者后台,打开你要设置的付费档位编辑页
  • 找到「结账时向支持者提问」的配置模块,新增一个必填的短文本问题,内容设置为请输入你的Discord用户ID
  • 保存设置后,用户在购买该档位的结账流程中,必须填写该字段才能完成支付
  • 后续你可以通过Patreon API拉取已完成支付用户的自定义字段值,和你的Pycord机器人的用户数据库做匹配,自动给相应用户解锁高级命令权限

方法二:Discord机器人自动关联(安全性更高,避免填错ID)

  • 不需要在结账流程加字段,用户完成支付后,Patreon会自动推送欢迎消息,告知用户需要进入你的Discord服务器,向机器人发送绑定命令,例如/bind [你的Patreon注册邮箱]
  • Pycord侧收到用户提交的绑定请求后,调用Patreon API查询该邮箱的付费状态,确认付费有效后,自动将发送命令的用户ID和该Patreon账号绑定,解锁对应权限
  • 该方案可以避免用户手动填错ID、冒用他人ID的问题,更推荐使用

Pycord侧权限校验示例代码

import discord
from discord.ext import commands

bot = discord.Bot(intents=discord.Intents.all())
# 实际使用时这里的数据需要定时从Patreon API拉取更新,不要写死
paid_user_ids = {"123456789012345678", "987654321098765432"}

@bot.slash_command(name="premium_feature", description="付费专属功能")
async def premium_feature(ctx: discord.ApplicationContext):
    if str(ctx.author.id) not in paid_user_ids:
        await ctx.respond("你未开通高级权限,请购买对应Patreon档位后使用", ephemeral=True)
        return
    # 高级功能逻辑写在这里
    await ctx.respond("欢迎使用高级功能!")

bot.run("你的机器人Token")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:48:03