-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: ChannelSuspiciousUserMessage, ChannelSuspiciousUserUpdate #29
Changes from 1 commit
8ce71fe
18d9e55
86380c3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Text; | ||
|
||
namespace TwitchLib.EventSub.Core.Models.ChannelSuspiciousUser | ||
{ | ||
/// <summary> | ||
/// Channel suspicious user base class. | ||
/// </summary> | ||
public abstract class ChannelSuspiciousUserBase | ||
{ | ||
/// <summary> | ||
/// The ID of the channel where the treatment for a suspicious user was updated. | ||
/// </summary> | ||
public string BroadcasterUserId { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The display name of the channel where the treatment for a suspicious user was updated. | ||
/// </summary> | ||
public string BroadcasterUserName { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The login of the channel where the treatment for a suspicious user was updated. | ||
/// </summary> | ||
public string BroadcasterUserLogin { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The user ID of the user that sent the message. | ||
/// </summary> | ||
public string UserId { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The user name of the user that sent the message. | ||
/// </summary> | ||
public string UserName { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The user login of the user that sent the message. | ||
/// </summary> | ||
public string UserLogin { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The status set for the suspicious user. Can be the following: “none”, “active_monitoring”, or “restricted” | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. note: |
||
/// </summary> | ||
public string LowTrustStatus { get; set; } = string.Empty; | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Diagnostics; | ||
using System.Text; | ||
using TwitchLib.EventSub.Core.Models.ChannelSuspiciousUser; | ||
|
||
namespace TwitchLib.EventSub.Core.SubscriptionTypes.Channel | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TwitchLib.EventSub.Core uses file scope namespace |
||
{ | ||
public sealed class ChannelSuspiciousUserMessage : ChannelSuspiciousUserBase | ||
{ | ||
/// <summary> | ||
/// A list of channel IDs where the suspicious user is also banned. | ||
/// </summary> | ||
public string[] SharedBanChannelIds { get; set; } = []; | ||
/// <summary> | ||
/// User types (if any) that apply to the suspicious user, can be “manual”, “ban_evader_detector”, or “shared_channel_ban”. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. note: |
||
/// </summary> | ||
public string[] Types { get; set; } = []; | ||
/// <summary> | ||
/// A ban evasion likelihood value (if any) that as been applied to the user automatically by Twitch, can be “unknown”, “possible”, or “likely”. | ||
/// </summary> | ||
public string BanEvasionEvaluation { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The structured chat message. | ||
/// </summary> | ||
public SuspiciousUserMessage Message { get; set; } = new SuspiciousUserMessage(); | ||
|
||
public sealed class SuspiciousUserMessage | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why isn't the class in its own file? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It seemed like it wasn't a pattern in the directory, but i didn't check super thoroughly. Will break these out. |
||
{ | ||
/// <summary> | ||
/// The UUID that identifies the message. | ||
/// </summary> | ||
public string MessageId { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The chat message in plain text. | ||
/// </summary> | ||
public string Text { get; set; } = string.Empty; | ||
/// <summary> | ||
/// Ordered list of chat message fragments. | ||
/// </summary> | ||
public MessageFragment[] Fragments { get; set; } = []; | ||
|
||
public sealed class MessageFragment | ||
{ | ||
/// <summary> | ||
/// The type of message fragment. Possible values: -text -cheermote -emote | ||
/// </summary> | ||
public string Type { get; set; } = string.Empty; | ||
/// <summary> | ||
/// Message text in fragment. | ||
/// </summary> | ||
public string Text { get; set; } = string.Empty; | ||
/// <summary> | ||
/// Optional. Metadata pertaining to the cheermote. | ||
/// </summary> | ||
public FragmentCheermote Cheermote = new FragmentCheermote(); | ||
/// <summary> | ||
/// Optional. Metadata pertaining to the emote. | ||
/// </summary> | ||
public FragmentEmote Emote { get; set; } = new FragmentEmote(); | ||
|
||
public sealed class FragmentCheermote | ||
{ | ||
/// <summary> | ||
/// The name portion of the Cheermote string that you use in chat to cheer Bits. The full Cheermote string is the concatenation of {prefix} + {number of Bits}. | ||
/// | ||
/// For example, if the prefix is “Cheer” and you want to cheer 100 Bits, the full Cheermote string is Cheer100.When the Cheermote string is entered in chat, Twitch converts it to the image associated with the Bits tier that was cheered. | ||
/// </summary> | ||
public string Prefix { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The amount of bits cheered. | ||
/// </summary> | ||
public int Bits { get; set; } = 0; | ||
/// <summary> | ||
/// The tier level of the cheermote. | ||
/// </summary> | ||
public int Tier { get; set; } = 0; | ||
} | ||
|
||
public sealed class FragmentEmote | ||
{ | ||
/// <summary> | ||
/// An ID that uniquely identifies this emote. | ||
/// </summary> | ||
public string Id { get; set; } = string.Empty; | ||
/// <summary> | ||
/// An ID that identifies the emote set that the emote belongs to. | ||
/// </summary> | ||
public string EmoteSetId { get; set; } = string.Empty; | ||
} | ||
} | ||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
using System; | ||
using System.Collections.Generic; | ||
using System.Text; | ||
using TwitchLib.EventSub.Core.Models.ChannelSuspiciousUser; | ||
|
||
namespace TwitchLib.EventSub.Core.SubscriptionTypes.Channel | ||
This comment was marked as resolved.
Sorry, something went wrong. |
||
{ | ||
public sealed class ChannelSuspiciousUserUpdate : ChannelSuspiciousUserBase | ||
{ | ||
/// <summary> | ||
/// The ID of the moderator that updated the treatment for a suspicious user. | ||
/// </summary> | ||
public string ModeratorUserId { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The display name of the moderator that updated the treatment for a suspicious user. | ||
/// </summary> | ||
public string ModeratorUserName { get; set; } = string.Empty; | ||
/// <summary> | ||
/// The login of the moderator that updated the treatment for a suspicious user. | ||
/// </summary> | ||
public string ModeratorUserLogin { get; set; } = string.Empty; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TwitchLib.EventSub.Core uses file scope namespace