コード例 #1
0
ファイル: MessageService.cs プロジェクト: darkclouddev/Rift
        public async Task <IUserMessage> SendMessageAsync(IonicMessage message, ulong channelId)
        {
            if (!IonicHelper.GetTextChannel(Settings.App.MainGuildId, channelId, out var channel))
            {
                return(null);
            }

            return(await channel.SendIonicMessageAsync(message));
        }
コード例 #2
0
ファイル: Extensions.cs プロジェクト: darkclouddev/Rift
 public static async Task <IUserMessage> SendIonicMessageAsync(this IMessageChannel channel, IonicMessage message)
 {
     return(await SendIonicMessageAsync((ITextChannel)channel, message));
 }
コード例 #3
0
ファイル: Extensions.cs プロジェクト: darkclouddev/Rift
 public static async Task <IUserMessage> SendIonicMessageAsync(this IUser user, IonicMessage message)
 {
     return(await SendIonicMessageAsync(await user.GetOrCreateDMChannelAsync(), message));
 }
コード例 #4
0
ファイル: Extensions.cs プロジェクト: darkclouddev/Rift
        public static async Task <IUserMessage> SendIonicMessageAsync(this ITextChannel channel, IonicMessage message)
        {
            if (message is null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            if (!string.IsNullOrWhiteSpace(message.ImageUrl))
            {
                var request = WebRequest.Create(message.ImageUrl);

                await using var stream = (await request.GetResponseAsync()).GetResponseStream();
                return(await channel.SendFileAsync(stream, ImageFileName, message.Text ?? "", embed : message.Embed));
            }

            return(await channel.SendMessageAsync(message.Text ?? "", embed : message.Embed)
                   .ConfigureAwait(false));
        }