Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yamachu/mastodonscriptbot
Mastodon Bot with Roslyn for Scripting: Mastodon-no-anal > Amazing Notified-driven Automatic Literal-bot
https://github.com/yamachu/mastodonscriptbot
csharp mastodon mastodon-app roslyn
Last synced: about 1 month ago
JSON representation
Mastodon Bot with Roslyn for Scripting: Mastodon-no-anal > Amazing Notified-driven Automatic Literal-bot
- Host: GitHub
- URL: https://github.com/yamachu/mastodonscriptbot
- Owner: yamachu
- Created: 2017-04-22T04:32:13.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-04-27T04:01:35.000Z (over 7 years ago)
- Last Synced: 2024-04-13T13:54:12.962Z (8 months ago)
- Topics: csharp, mastodon, mastodon-app, roslyn
- Language: C#
- Homepage:
- Size: 8.79 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MastodonScriptBot
Mastodon の {User,Public,Hashtag}Stream を監視していい感じに Bot っぽいことをするアプリケーション.
プログラムの動作中でも動作を変えることが出来て楽しい ✌ ('ω' ✌ )三 ✌ ('ω') ✌ 三( ✌ 'ω') ✌
## Usage
CSharpScript にはグローバル変数として
* MSStream : Streaming (Sample では PublicStream)
* Client : MastodonClientが渡されているので,その 2変数 に対しての操作を行う.
CSharpScript からは Subscribe した際に返る IDisposable を return すれば良い.
### example
WatchTootAll
```csharp
MSStream.OfType()
.Subscribe(x => Console.WriteLine($"{x.Account.FullUserName}: {x.Content}"))```
AutoFavSpecificWord
```csharp
MSStream.OfType()
.Where(x => x.Content.Contains("Xamarin"))
.Subscribe(x =>
{
System.Console.WriteLine($"{x.Account.FullUserName}: {x.Content}");
Client.Favourite(x.Id);
})```
もちろん Method の定義も出来て,Toot の数が数えたい!という時は
CountAllToolOfSubscribed
```csharp
static int i = 0;
IDisposable WithMethod()
{
return MSStream.OfType()
.Subscribe(x => System.Console.WriteLine($"!!--{i++}--!!"));
}return WithMethod();
```
その他にも色々出来そうなので自分だけの Stream を作ってみてください.