Skip to content

Commit ea44308

Browse files
authored
Merge pull request #94 from gep13/baseline
Bring Cake.Discord to canonical cake-contrib baseline (Cake.7zip-style)
2 parents 77e9ed5 + 3647e64 commit ea44308

21 files changed

Lines changed: 227 additions & 123 deletions

.config/dotnet-tools.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"isRoot": true,
44
"tools": {
55
"cake.tool": {
6-
"version": "3.2.0",
6+
"version": "2.3.0",
77
"commands": [
88
"dotnet-cake"
99
],

.github/CODE_OF_CONDUCT.md

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

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ jobs:
8181
uses: cake-build/cake-action@d218f1133bb74a1df0b08c89cfd8fc100c09e1a0 # v3
8282
with:
8383
script-path: recipe.cake
84-
target: DotNet-Build
84+
target: DotNetCore-Build
8585
cake-version: tool-manifest
8686
env:
8787
COMPlus_DbgEnableMiniDump: 1

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,3 +346,6 @@ Source/Cake.Discord/tools/**
346346
BuildArtifacts/*
347347

348348
.DS_Store
349+
350+
# Language service cache files (e.g. Roslyn / IDE language servers)
351+
*.lscache

CODE_OF_CONDUCT.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
- Focusing on what is best not just for us as individuals, but for the
26+
overall community
27+
28+
Examples of unacceptable behavior include:
29+
30+
- The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind
32+
- Trolling, insulting or derogatory comments, and personal or political attacks
33+
- Public or private harassment
34+
- Publishing others' private information, such as a physical or email
35+
address, without their explicit permission
36+
- Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
nils@nils-andresen.de.
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series
86+
of actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or
93+
permanent ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within
113+
the community.
114+
115+
## Attribution
116+
117+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118+
version 2.0, available at
119+
<https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
120+
121+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122+
enforcement ladder](https://github.com/mozilla/diversity).
123+
124+
[homepage]: https://www.contributor-covenant.org
125+
126+
For answers to common questions about this code of conduct, see the FAQ at
127+
<https://www.contributor-covenant.org/faq>. Translations are available at
128+
<https://www.contributor-covenant.org/translations>.

Source/Cake.Discord/Cake.Discord.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ For details see $(PackageProjectUrl)/releases</PackageReleaseNotes>
4141
<PrivateAssets>all</PrivateAssets>
4242
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4343
</PackageReference>
44+
<PackageReference Include="IDisposableAnalyzers" Version="4.0.8">
45+
<PrivateAssets>all</PrivateAssets>
46+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
47+
</PackageReference>
4448
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0">
4549
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4650
<PrivateAssets>all</PrivateAssets>

Source/Cake.Discord/Chat/DiscordChatApi.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,12 @@ internal static async Task<DiscordChatMessageResult> PostMessage(
4848
context.Debug("Parameter: {0}", json);
4949

5050
using (var client = new HttpClient())
51+
using (var stringContent = new StringContent(json, Encoding.UTF8, "application/json"))
52+
using (var httpResponse = await client.PostAsync(webHookUrl, stringContent))
5153
{
52-
var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
53-
54-
var httpResponse = await client.PostAsync(webHookUrl, stringContent);
5554
context.Debug($"Status Code: {httpResponse.StatusCode}");
5655

57-
DiscordChatMessageResult parsedResult = null;
56+
DiscordChatMessageResult parsedResult;
5857

5958
if (httpResponse.StatusCode != System.Net.HttpStatusCode.NoContent)
6059
{
@@ -66,8 +65,8 @@ internal static async Task<DiscordChatMessageResult> PostMessage(
6665
parsedResult = new DiscordChatMessageResult(
6766
false,
6867
DateTime.UtcNow.ToString(),
69-
result.GetInteger("code").Value,
70-
result.GetString("message"));
68+
result.GetInteger("code") ?? 0,
69+
result.GetString("message") ?? string.Empty);
7170
}
7271
else
7372
{
@@ -96,7 +95,7 @@ internal static async Task<DiscordChatMessageResult> PostMessage(
9695
: null as int?;
9796
}
9897

99-
private static string GetString(this JsonData data, string key)
98+
private static string? GetString(this JsonData data, string key)
10099
{
101100
return (data != null && data.Keys.Contains(key))
102101
? (string)data[key]

Source/Cake.Discord/Chat/DiscordChatMessageSettings.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ public sealed class DiscordChatMessageSettings
1717
/// <summary>
1818
/// Gets or sets the name of the bot.
1919
/// </summary>
20-
public string UserName { get; set; }
20+
public string? UserName { get; set; }
2121

2222
/// <summary>
2323
/// Gets or sets the URL to an image to use as the avatar for this message.
2424
/// </summary>
25-
public Uri AvatarUrl { get; set; }
25+
public Uri? AvatarUrl { get; set; }
2626

2727
/// <summary>
2828
/// Gets or sets a value indicating whether this message is a

Source/Cake.Discord/LitJson/IJsonWrapper.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#nullable disable
2+
#pragma warning disable IDISP001, IDISP004, IDISP008 // vendored LitJson — disposal patterns are not the addin's responsibility
13
#pragma warning disable SA1124
24
#region Header
35

Source/Cake.Discord/LitJson/JsonData.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#nullable disable
2+
#pragma warning disable IDISP001, IDISP004, IDISP008 // vendored LitJson — disposal patterns are not the addin's responsibility
13
#pragma warning disable SA1124
24
#region Header
35
/*

0 commit comments

Comments
 (0)