/// <summary> /// 指定したアカウントのTokenを取得する /// 付帯する他の情報(最後に取得したツイートIDなど)は取得しない /// </summary> /// <param name="user_id"></param> /// <returns></returns> public async Task <UserStreamerSetting?> SelectUserStreamerSetting(long user_id) { using (var cmd = new MySqlCommand(@"SELECT user_id, token, token_secret FROM token WHERE user_id = @user_id;")) { cmd.Parameters.Add("@user_id", MySqlDbType.Int64).Value = user_id; UserStreamerSetting?ret = null; if (await ExecuteReader(cmd, (r) => { ret = new UserStreamerSetting() { Token = Tokens.Create(config.token.ConsumerKey, config.token.ConsumerSecret, r.GetString(1), r.GetString(2), r.GetInt64(0)), }; }).ConfigureAwait(false)) { return(ret); } else { return(null); } //一応全取得に成功しない限り返さない } }
public Task <int> StoreUserStreamerSetting(UserStreamerSetting setting) => StoreUserStreamerSetting(new[] { setting });
public UserStreamer(UserStreamerSetting setting) { Token = setting.Token; Token.ConnectionOptions = TokenOptions; LastReceivedTweetId = setting.last_status_id; }