@@ -171,6 +171,14 @@ func (p *service) processNewTwitterRegistrations(ctx context.Context) error {
171
171
func (p * service ) refreshTwitterUserInfo (ctx context.Context , username string ) error {
172
172
user , err := p .twitterClient .GetUserByUsername (ctx , username )
173
173
if err != nil {
174
+ if strings .Contains (strings .ToLower (err .Error ()), "could not find user with username" ) {
175
+ err = p .onTwitterUsernameNotFound (ctx , username )
176
+ if err != nil {
177
+ return errors .Wrap (err , "error updating cached user state" )
178
+ }
179
+ return nil
180
+ }
181
+
174
182
return errors .Wrap (err , "error getting user info from twitter" )
175
183
}
176
184
@@ -220,6 +228,25 @@ func (p *service) updateCachedTwitterUser(ctx context.Context, user *twitter_lib
220
228
}
221
229
}
222
230
231
+ func (p * service ) onTwitterUsernameNotFound (ctx context.Context , username string ) error {
232
+ record , err := p .data .GetTwitterUserByUsername (ctx , username )
233
+ switch err {
234
+ case nil :
235
+ case twitter .ErrUserNotFound :
236
+ return nil
237
+ default :
238
+ return errors .Wrap (err , "error getting cached twitter user" )
239
+ }
240
+
241
+ record .LastUpdatedAt = time .Now ()
242
+
243
+ err = p .data .SaveTwitterUser (ctx , record )
244
+ if err != nil {
245
+ return errors .Wrap (err , "error updating cached twitter user" )
246
+ }
247
+ return nil
248
+ }
249
+
223
250
func (p * service ) findNewRegistrationTweets (ctx context.Context ) ([]* twitter_lib.Tweet , error ) {
224
251
var pageToken * string
225
252
var res []* twitter_lib.Tweet
0 commit comments