Git Product home page Git Product logo

dcrtimestamptweet's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

dcrtimestamptweet's Issues

Tweets are getting hidden in the main thread

The bot tweets are getting hidden in the thread where it is invoked. It is unclear what is the main cause of it, but it is definitely being marked as spam.
If you look at this twitter tos: https://help.twitter.com/en/rules-and-policies/twitter-automation, you can see that we may fit in the category of spam by twiting almost the same content every time.
This article also explains what maybe is happening: https://www.wired.com/story/twitter-will-begin-hiding-all-tweets-from-suspect-accounts/.

Those whose tweets are deemed to be "disruptive," but that don't violate Twitter's policies outright, will be secluded at the bottom of a conversation thread or search result, to make room for more productive and respectful conversations. Some of the new signals Twitter will consider include whether you've confirmed your email address, whether you've created multiple accounts from the same IP address, and whether you're frequently blocked by accounts you interact with. Tweets that get filtered this way—as long as they don't violate Twitter's policies—won't be removed, but you will have to click "Show more replies," or elect to "show everything" in your search settings in order to view them.

It's important to notice that the tweets are not being deleted. If you go to the bot Tweet & Replies section you can see all the replies made by the bot in there:
https://twitter.com/dcrtimestampbot/with_replies.

Some actions we can take:

  • Create a set of different greetings to be sent at the beginning of the message.
  • Direct message the user who have invoked the bot with the results, so even if the tweet gets hidden, the user will know that worked.
  • Add ipfs and dcrtime hashes in the body of the message so the text content will be different every time.
  • [Complex one] Create a minimum delay between replies in the same thread.

Create a procedure to reconnect when a established connection drops

According to the Twitter API we have to make sure the bot can handle the following scenarios:

  • Connection is closed by something on your end (client disconnect)
  • Connection is closed by Twitter with a zero-byte chunk (forced disconnect)
  • Your app has received zero data through the connection – i.e. no new Tweets AND no keep-alive carriage return signals – for more than 30 seconds. Your app must allow the connection to time out in this situation – note that by default, some clients persistent connections can remain open even without new data unless your code tells it to close based on an absence of the above signals. Note that unlike the third scenario above, if you are still receiving the keep-alive signal, but no new data, your app should remain connected – there may be an issue on the Twitter side preventing data from being sent down the wire, or there may just not be any new activities that match your filters. Remaining connected as long as you are at least receiving the keep-alive signal ensures that you will receive new matching Tweets when they are received by Twitter. This is typically accomplished by setting the read timeout on your client to something beyond 30 seconds.

tweet not timestamping

Nothing can prevent. But a hybrid POW/POS system can make it harder to happen.

That's why stakeholders should control the coin's future.

Isn't that right @dcrtimestampbot ? $DCR

This tweet did not timestamped, but  it should. Maybe the regex?

This tweet should timestamp, but it did not. We need to figure why.

thread: https://twitter.com/_vctt/status/1126164335745744897

Add basic readme for development

Add some pretty basic info for developing for this repo. Good to have:

  • How to install
  • How to run de dev server
  • How to connect to twitter API (how to generate keys, set them in the app, etc)

Bot crashed when trying to deal with unavailable tweet

The bot crashed after dealing with the following tweet:

https://twitter.com/Carl0sfelipebtc/status/1131724553238003712

Looks like the parent tweet was unavailable, causing the twitter to return an error, which the bot mistakenly tried to timestamp, causing a fatal crash.

Error logs:

�[32minfo�[39m: �[32mdealing with tweet 1131724553238003712�[39m {"service":"user-service","timestamp":"2019-05-24T00:52:19.685Z"}
�[31merror�[39m: �[31mprocessTweetThreadError 1131724553238003712: Error: Sorry, you are not authorized to see this status.�[39m {"service":"user-service","timestamp":"2019-05-24T00:52:19.821Z"}
�[31merror�[39m: �[31mCannot read property 'digest' of undefined�[39m {"service":"user-service","timestamp":"2019-05-24T00:52:19.822Z"}
�[31merror�[39m: �[31mevent.message_create.message_data: Neither text nor attachment defined on message_data�[39m {"code":214,"allErrors":[{"code":214,"message":"event.message_create.message_data: Neither text nor attachment defined on message_data"}],"twitterReply":{"errors":[{"code":214,"message":"event.message_create.message_data: Neither text nor attachment defined on message_data"}]},"statusCode":400,"service":"user-service","timestamp":"2019-05-24T00:52:19.870Z"}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.