using System.Collections.Generic; using System.IO; using System.Threading.Tasks; namespace Discord { public interface ITextChannel : IChannel { /// Gets the message in this text channel with the given id, or null if none was found. Task GetMessage(ulong id); /// Gets the last N messages from this text channel. /// The maximum number of messages to retrieve. Task> GetMessages(int limit = 100); /// Gets a collection of messages in this channel. /// The maximum number of messages to retrieve. /// The message to start downloading relative to. /// The direction, from relativeMessageId, to download messages in. Task> GetMessages(int limit = 100, ulong? relativeMessageId = null, Relative relativeDir = Relative.Before); /// Sends a message to this text channel. Task SendMessage(string text, bool isTTS = false); /// Sends a file to this text channel, with an optional caption. Task SendFile(string filePath, string text = null, bool isTTS = false); /// Sends a file to this text channel, with an optional caption. Task SendFile(Stream stream, string filename, string text = null, bool isTTS = false); /// Broadcasts the "user is typing" message to all users in this channel, lasting 10 seconds. Task SendIsTyping(); } }