Skip to content
This repository was archived by the owner on Aug 2, 2026. It is now read-only.

Commit e9866bd

Browse files
committed
Fix Stoat attachment download and resolve CS8602/CS8604 nullability warnings
1 parent eeb6667 commit e9866bd

5 files changed

Lines changed: 48 additions & 67 deletions

File tree

SysBot.Pokemon.Stoat/Helpers/StoatManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class StoatManager(StoatSettings Config)
1919

2020
public RemoteControlAccessList FavoredRoles => Config.RoleFavored;
2121

22-
public string Owner { get; internal set; }
22+
public string Owner { get; internal set; } = string.Empty;
2323

2424
public RemoteControlAccessList RolesClone => Config.RoleCanClone;
2525

SysBot.Pokemon.Stoat/Program.cs

Lines changed: 0 additions & 19 deletions
This file was deleted.

SysBot.Pokemon.Stoat/SysStoat.Commands.Management.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ private async Task HandleHelpCommandAsync(UserMessage message, List<string> args
3939
description: description,
4040
colorHex: "#00FF00"
4141
);
42-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
42+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
4343
}
4444

4545
[StoatCommand("about", "info", "whoami", "owner")]
@@ -87,7 +87,7 @@ private async Task HandleAboutCommandAsync(UserMessage message, List<string> arg
8787
iconUrl: "https://raw.githubusercontent.com/NexusRisen/Nexus-Risen-Edition-Sprite-Images/main/Assets/Icons/Characters/dudebot.png"
8888
);
8989

90-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
90+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
9191
}
9292

9393
[StoatCommand("medals", "ml")]
@@ -101,7 +101,7 @@ private async Task HandleMedalsCommandAsync(UserMessage message, List<string> ar
101101

102102
ulong userIdNumeric = StoatHelper<T>.ConvertId(message.AuthorId);
103103
var tradeCodeStorage = new TradeCodeStorage();
104-
tradeCodeStorage.UpdateUsername(userIdNumeric, message.Author.Username);
104+
tradeCodeStorage.UpdateUsername(userIdNumeric, message.Author!.Username);
105105
int totalTrades = tradeCodeStorage.GetTradeCount(userIdNumeric);
106106

107107
if (totalTrades == 0)
@@ -111,7 +111,7 @@ private async Task HandleMedalsCommandAsync(UserMessage message, List<string> ar
111111
description: $"{message.Author.Username}, you haven't made any trades yet.\nStart trading to earn your first medal!",
112112
colorHex: "#808080"
113113
);
114-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { zeroEmbed });
114+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { zeroEmbed });
115115
return;
116116
}
117117

@@ -148,7 +148,7 @@ private async Task HandleMedalsCommandAsync(UserMessage message, List<string> ar
148148
iconUrl: "https://raw.githubusercontent.com/NexusRisen/Nexus-Risen-Edition-Sprite-Images/main/Assets/Icons/Characters/dudebot.png"
149149
);
150150

151-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
151+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
152152
}
153153

154154
[StoatCommand("leaderboard", "lb", "halloffame", "hof")]
@@ -165,7 +165,7 @@ private async Task HandleLeaderboardCommandAsync(UserMessage message, List<strin
165165
colorHex: "#FFD700"
166166
);
167167

168-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
168+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
169169
}
170170

171171
[StoatCommand("queuestatus", "qs")]
@@ -179,7 +179,7 @@ private async Task HandleQueueStatusCommandAsync(UserMessage message, List<strin
179179
description: "You are not currently in the queue.",
180180
colorHex: "#FF0000"
181181
);
182-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
182+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
183183
return;
184184
}
185185

@@ -190,7 +190,7 @@ private async Task HandleQueueStatusCommandAsync(UserMessage message, List<strin
190190
description: $"You are currently {posString} out of **{totalInQueue}** in the queue.",
191191
colorHex: "#00FF00"
192192
);
193-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embedStatus });
193+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embedStatus });
194194
}
195195

196196
[StoatCommand("queueclear", "qc", "tc")]
@@ -206,7 +206,7 @@ private async Task HandleQueueClearCommandAsync(UserMessage message, List<string
206206
description: "You have been removed from the queue.",
207207
colorHex: "#00FF00"
208208
);
209-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
209+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
210210
}
211211
else
212212
{
@@ -215,7 +215,7 @@ private async Task HandleQueueClearCommandAsync(UserMessage message, List<string
215215
description: "You are not currently in the queue or cannot be removed.",
216216
colorHex: "#FF0000"
217217
);
218-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
218+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
219219
}
220220
}
221221

@@ -230,7 +230,7 @@ private async Task HandleDeleteTradeCodeCommandAsync(UserMessage message, List<s
230230
description: success ? "Your saved trade code has been deleted." : "You do not have a saved trade code.",
231231
colorHex: success ? "#00FF00" : "#FF0000"
232232
);
233-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
233+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
234234
}
235235

236236
[StoatCommand("linkcode", "link")]
@@ -244,12 +244,12 @@ private async Task HandleLinkCommandAsync(UserMessage message, List<string> args
244244
if (token == "DB_OFF" || token == "ERROR")
245245
{
246246
var embed = EmbedHelper.CreateEmbed("Account Linking", "Account linking is currently disabled or an error occurred.", "#FF0000");
247-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
247+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
248248
}
249249
else
250250
{
251251
var embed = EmbedHelper.CreateEmbed("Account Linking", $"<@{message.AuthorId}> Your account link token is: **{token}**\nThis token will expire in 15 minutes. Go to the other platform and run `link {token}` to link that account.", "#00FF00");
252-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
252+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
253253
}
254254
}
255255
else // Treat as "link" with token
@@ -258,19 +258,19 @@ private async Task HandleLinkCommandAsync(UserMessage message, List<string> args
258258
if (token.Length != 6)
259259
{
260260
var embed = EmbedHelper.CreateEmbed("Account Linking", "Invalid token format. It should be 6 characters long.", "#FF0000");
261-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
261+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
262262
return;
263263
}
264264
bool success = DatabaseService.LinkAccount(userIdNumeric, token, "Stoat");
265265
if (success)
266266
{
267267
var embed = EmbedHelper.CreateEmbed("Account Linking", $"<@{message.AuthorId}> successfully linked! Your stats here will now match the primary account you linked from.", "#00FF00");
268-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
268+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
269269
}
270270
else
271271
{
272272
var embed = EmbedHelper.CreateEmbed("Account Linking", $"<@{message.AuthorId}> failed to link account. The token may be expired, invalid, or you are trying to link to yourself.", "#FF0000");
273-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
273+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
274274
}
275275
}
276276
}
@@ -287,7 +287,7 @@ private async Task HandleIdCommandAsync(UserMessage message, List<string> args)
287287
ulong userIdNumeric = StoatHelper<T>.ConvertId(message.AuthorId);
288288
ulong channelIdNumeric = StoatHelper<T>.ConvertId(message.ChannelId);
289289
var embed = EmbedHelper.CreateEmbed("ID Information", $"User ID: {message.AuthorId} (Numeric: {userIdNumeric})\nChannel ID: {message.ChannelId} (Numeric: {channelIdNumeric})", "#00FF00");
290-
await MessageHelper.SendMessageAsync(message.Channel, string.Empty, embeds: new[] { embed });
290+
await MessageHelper.SendMessageAsync(message.Channel!, string.Empty, embeds: new[] { embed });
291291
}
292292

293293
private static string GetVersionInfo(string assemblyName, bool includeVersion = true)

0 commit comments

Comments
 (0)