我想用twitter流API创建一个机器人程序。所以基本上,一个事件被触发,我会做一些事情。
我想让它在linux环境中的docker容器中运行。
我遇到的问题是我的控制台会自动关闭。这是我的代码
public static async Task Main()
{
var credentials = new TwitterCredentials(consumerKey: "",
consumerSecret: "",
accessToken: "",
accessTokenSecret: "");
var stream = Tweetinvi.Stream.CreateFilteredStream(credentials);
stream.AddFollow(someUserId,
tweet =>
{
doSomething(tweet);
});
stream.MatchingTweetReceived += (s, e) =>
{
doSomething(e.Tweet);
};
await stream.StartStreamMatchingAllConditionsAsync();
}
我等待Stream启动,但控制台会自行关闭。我不在等任何事件。我该如何更改?
听起来StartStreamMatchingAllConditionsAsync
在某个时刻完成,这会导致应用程序退出。
你需要的是一些你可以await
但永远不会完成的东西。任务。延迟可以为你做到这一点。只需将此作为函数的最后一行:
await Task.Delay(-1);