Beispiel #1
0
        /// <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);
                }                    //一応全取得に成功しない限り返さない
            }
        }
Beispiel #2
0
 public Task <int> StoreUserStreamerSetting(UserStreamerSetting setting) => StoreUserStreamerSetting(new[] { setting });
Beispiel #3
0
 public UserStreamer(UserStreamerSetting setting)
 {
     Token = setting.Token;
     Token.ConnectionOptions = TokenOptions;
     LastReceivedTweetId     = setting.last_status_id;
 }