我有2类包含该函数,然后包含命令的一个函数,我对此非常陌生,无法弄清楚如何调用该函数。
这是我要调用的功能
private async Task<long> GetMemberId(string members)
{
long memberID = 0;
HttpResponseMessage response = await client.GetAsync(StaticObjects.bungieBasePath
+ $@"/GroupV2/Name/{memberID}/1/");
if (response.IsSuccessStatusCode)
{
try
{
dynamic content = response.Content.ReadAsAsync<ExpandoObject>().Result;
Debug.WriteLine(await response.Content.ReadAsStringAsync());
}
catch
{
throw new ArgumentException("The member could not be found.");
}
}
else
{
throw new ArgumentException("An error occurred retrieving the members information.");
}
return memberID;
}
那是命令
[Command("invite")]
[RequireContext(ContextType.Guild, ErrorMessage = "This command is specific to a particular server so you must send it from a channel within that server")]
public async Task SendInviteAsync()
{
await Context.Channel.TriggerTypingAsync(new RequestOptions() { Timeout = 30 });
if (!Context.IsPrivate) await Context.Message.DeleteAsync();
if (StaticObjects.CheckUserIsAdmin(Context))
{
//command to call the memberid function
}
}
GetMemberId
是一个私人功能,只能在其类中使用。您需要公开它,然后从其他类别中称呼它:
if (StaticObjects.CheckUserIsAdmin(Context))
{
var class = new firstClass();
var memberId = class.GetMemberId(members);
}