Ejemplo n.º 1
0
        public MastodonClient(string domain) : base($"https://{domain}", AuthMode.OAuth2, RequestMode.FormUrlEncoded)
        {
            Domain           = domain;
            BinaryParameters = new List <string> {
                "avatar", "header", "file"
            };

            Account        = new AccountsClient(this);
            Apps           = new AppsClient(this);
            Auth           = new AuthClient(this);
            Blocks         = new BlocksClient(this);
            CustomEmojis   = new CustomEmojisClient(this);
            DomainBlocks   = new DomainBlocksClient(this);
            Endorsements   = new EndorsementsClient(this);
            Favorites      = new FavoritesClient(this);
            Filters        = new FiltersClient(this);
            FollowRequests = new FollowRequestsClient(this);
            Follows        = new FollowsClient(this);
            Instance       = new InstanceClient(this);
            Lists          = new ListsClient(this);
            Media          = new MediaClient(this);
            Notifications  = new NotificationsClient(this);
            Push           = new PushClient(this);
            Reports        = new ReportsClient(this);
            SearchV1       = new SearchV1Client(this);
            SearchV2       = new SearchV2Client(this);
            Statuses       = new StatusesClient(this);
            Streaming      = new StreamingClient(this);
            Suggestions    = new SuggestionsClient(this);
            Timelines      = new TimelinesClient(this);
        }
Ejemplo n.º 2
0
        public MastodonClient(Credential credential, HttpClientHandler innerHandler = null) : base(credential, new OAuth2HttpClientHandler(innerHandler), RequestMode.FormUrlEncoded)
        {
            BinaryParameters = new List <string> {
                "avatar", "header", "file"
            };

            Account           = new AccountsClient(this);
            Apps              = new AppsClient(this);
            Auth              = new AuthClient(this);
            Blocks            = new BlocksClient(this);
            Conversations     = new ConversationsClient(this);
            CustomEmojis      = new CustomEmojisClient(this);
            DomainBlocks      = new DomainBlocksClient(this);
            Endorsements      = new EndorsementsClient(this);
            Favorites         = new FavoritesClient(this);
            Filters           = new FiltersClient(this);
            FollowRequests    = new FollowRequestsClient(this);
            Follows           = new FollowsClient(this);
            Instance          = new InstanceClient(this);
            Lists             = new ListsClient(this);
            Media             = new MediaClient(this);
            Notifications     = new NotificationsClient(this);
            Push              = new PushClient(this);
            Reports           = new ReportsClient(this);
            ScheduledStatuses = new ScheduledStatusesClient(this);
            SearchV1          = new SearchV1Client(this);
            SearchV2          = new SearchV2Client(this);
            Statuses          = new StatusesClient(this);
            Streaming         = new StreamingClient(this);
            Suggestions       = new SuggestionsClient(this);
            Timelines         = new TimelinesClient(this);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Retrieves a filing date announcement by statement number and election cycle.
        /// </summary>
        /// <param name="statementNumber">The filing statement number to search for.</param>
        /// <param name="electionCycle">The election cycle in which to search.</param>
        /// <returns>The announcement matching the filing statement number and election cycle specified if found; otherwise, null.</returns>
        public static Announcement GetFilingDateAnnouncement(byte statementNumber, string electionCycle)
        {
            Settings settings = Properties.Settings.Default;

            foreach (var announcement in ParseAnnouncements(electionCycle, ListsClient.GetListItems(settings.AnnouncementsListName, string.Format(settings.FilingDateAnnouncementListQueryFilter, statementNumber, electionCycle), ItemViewFields, QueryOptions)))
            {
                return(announcement);
            }
            return(null);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Retrieves an announcement by unique ID.
        /// </summary>
        /// <param name="id">The ID of the announcement to retrieve.</param>
        /// <returns>The announcement matching the ID specified if found; otherwise, null.</returns>
        public static Announcement GetAnnouncement(string id)
        {
            Settings settings = Properties.Settings.Default;

            foreach (var announcement in ParseAnnouncements(string.Empty, ListsClient.GetListItems(settings.AnnouncementsListName, string.Format(settings.AnnouncementItemQueryFilter, id), ItemViewFields, QueryOptions)))
            {
                return(announcement);
            }
            return(null);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Retrieves a collection of unexpired announcements filtered by election cycle.
        /// </summary>
        /// <param name="electionCycle">The election cycle to filter results by, or an empty string to retrieve announcements across all elections.</param>
        /// <returns>A collection of unexpired announcements filtered by the election cycle specified.</returns>
        /// <exception cref="ArgumentNullException"><paramref name="electionCycle"/> is null.</exception>
        public static IEnumerable <Announcement> GetAnnouncements(string electionCycle)
        {
            if (electionCycle == null)
            {
                throw new ArgumentNullException("electionCycle", "Target election cycle must not be null.");
            }
            Settings settings = Properties.Settings.Default;
            var      xmlData  = ListsClient.GetListItems(settings.AnnouncementsListName, string.Format(settings.AnnouncementListQueryFilter, electionCycle), ListViewFields, QueryOptions);

            return(ParseAnnouncements(electionCycle, xmlData));
        }
Ejemplo n.º 6
0
 protected internal UsersClient(MisskeyClient client) : base(client, "users")
 {
     Lists = new ListsClient(client);
 }