أنا في منتصف محاولة تحويل كل شيء لاستخدام طرق OAuth الخاصة بي، و Discourse هو آخر شيء في قائمتي.
الأشياء التي أود إكمالها إذا كانت ميزة:
- كيف يمكنني إنشاء حقول مستخدم عامة/خاصة لعرضها في صفحة المستخدم الخاصة بهم حولهم؟ مثل
رتبة المجموعةليراها أي شخص، ولكن مثلمعرف Discordليراه فقط المسؤولون والمشرفون (وأيضًا واجهة برمجة التطبيقات)؟
أيضًا، كيف يمكنني تنفيذ ذلك في بايثون باستخدام Quart؟ هذا بعض التعليمات البرمجية التي قمت ببرمجتها، على الرغم من أن الوثائق غير واضحة للغاية بشأن كيفية تمرير البيانات لـ Discourse وكيفية تضمين حقول المستخدم، ومحاولة جعلها غير قابلة للتعديل من قبل المستخدمين.
from quart import Quart, redirect, request
from rblxopencloud import OAuth2App, Group
from roblox import RobloxUser
oauth_app = OAuth2App("ROBLOX_APP_ID", "ROBLOX_APP_SECRET", "ROBLOX_APP_REDIRECT")
app = Quart(__name__)
@app.route("/")
async def authentication_verify():
return redirect(oauth_app.generate_uri(["openid", "profile"]))
@app.route("/authentication/redirect")
async def authentication_redirect():
roblox_info = oauth_app.exchange_code(request.args.get('code'))
group_member: Group = RobloxUser.fetch_member(roblox_info.user, 4800717)
group_rank = "Test Subject"
if group_member != None:
group_rank = group_member.fetch_role().name
discord_id = "this-will-pull-from-my-db"
return {
"permalink": roblox_info.user.username,
"username": roblox_info.user.username,
"uri": roblox_info.user.profile_uri,
"avatar_url": roblox_info.user.generate_headshot(size=420, format="jpeg", is_circular=True),
# هذه أود أن تكون حقول مستخدم (عامة أو خاصة)
"group_rank": group_rank, # حقل مستخدم عام
"discord_id": discord_id, # حقل مستخدم خاص
"roblox_id": roblox_info.user.id, # حقل مستخدم خاص
}
app.run(host="host-ip-here", port=0000)
