I built an automatic reply bot on Twitter and at first it seems to work fine.
However, after some weeks running, I cannot see the replies from the bot anymore.
Concretely, when I tweet to the bot, I don't see the reply and notification, but If I log in as the bot, I see all the replies (only the bot can see the replies).
For sure, I always include #username at the beginning of replies and use the parameter in_reply_to_status_id. Moreover, my tweet is specific for the bot and nobody has replied to it, so it isn't a problem with a very large number of replies.
Is that a problem with Twitter platform?
Thanks.
It turns out that Twitter has flagged my account due to weird behavior, which is posting plenty of messages against the bot with similar content.
In fact, my Twitter account is blocked after some time. Unblocking it solves the problem.
Related
I have developed a small bot in Python that uses the twitter API through tweepy to publish tweets every so often. So far so good.
The problem comnes that a few days ago the account where this bot is running has started to have followers. To my surprise, a couple of users have let me know that shortly after following the account, without doing anything, their accounts have stopped being followers.
I have made some checks with my account and others and indeed this happens, you click to follow the account and shortly after that, all the followers are removed.
Is anyone aware of this possible failure or what may be causing this?
Thank you very much in advance
I am using Twilio's Verify API for authenticating my users through email and SMS by sending them an OTP.
So here are the observations and current situation.
SMS OTPs are almost instantly delivered
Email OTPs are sometimes instantly delivered and sometimes it takes 2 to 3 minutes.
There is no pattern in the slowness of Email OTPs
Talked to customer support but they failed to identify the root cause.
Has anyone else faced this type of peculiar issue while using Twilio's Verify API?
Thanks in Advance.
Robin
Just an update on how I solved this, since I feel it might be helpful for others (since no one answered it yet)
I talked to Twilio / Sendgrid support multiple times and we concluded that the slowness is due to one of the following reasons
There is a n/w delay on the system from which the API is being called. This can be debugged by loggin on to the sendgrid admin console and checking the time (and status) of each request
You might be using a free plan which limits your usage to 100 emails / day. Upgrade to essential plan that would assure a more reliable SLA. (My personal thought is that they are probably trying to move us into a paid subscription using diplomatic tactics. Anyways this again proves.. there is nothing like a free lunch)
If it is a problem with specific email addresses or providers, then it could be possible that the sender domain / address has been blacklisted or marked as spam.
In our case, we migrated to the essential plan and that solved our issue.
Thanks,
Robin
I have created a slack bot and I want to send a general static help message to users when they send a direct message to my bot:
Should I subscribe to Events API? Or do I need to do this in another way? I couldn't find a clear answer for this.
There are two ways to do make your bot user reply to direct messages:
Events API
Real Time Messaging API
In my opinion the Events API approach is easier to implement since it does not require using WebSockets.
The basic approach with the Events API is:
You need an endpoint that can receive event requests from Slack and
react to it, e.g. by sending a direct message back to a user.
Subscribe to message.im event for your bot user
Note that a bot user already has all the required scopes for this with the bot scope.
In addition I would recommend to subscribe to app.mention for your bot user. Then it can also react to mentions in other channels.
Btw. that message you posted looks a lot like a review comment from the Slack team for a new app submission. I got a similar one for my last app and I solved it with the approach above. In general it looks like if you want to have a bot user in your app it needs to be able to respond to help request from users.
Pls, I really need help asap.I have created a dialogflow bot for an institution and it is to integrated into twitter. after following dialogflow's documentation, I managed to place it on the company's official twitter page. but now, I'm having an issue with communicating with the bot. I always have to send a DM or tweet to the page in order to get response from the bot. but, the company uses the same page to receive customer complaints. Please, isn't there anyway that I could host the bot on the page and get users to be able to chat with the bot and/or also with customer care.
You can try deploying it on a dummy page for the time being and fixing the issue.
If I'm misunderstanding something here then I'm sorry but from what I can tell, you made a bot and deployed it on the official twitter page but the behaviour was not as expected. This has lead to the bot replying to customers when it wasn't supposed to? I'm sure you're in a hurry but its not perfectly clear but that's what I got from the post
Also, its always better to test on a dummy page before deploying to the official page.
channels.join is not allowed for bot users. I would like my RTM-using bot to listen to channels other than the one listed in the bot integration page.
I don't see a way to change the channels in the bot integration page:
Is this just a limitation of bots or am I missing something fundamental here?
I had the same issue and wasnt sure why my bot was only listening to certain channels.
Your bot will need to be invited to each channel by a user. Run this command within the required channel in the Slack app to do so
/invite #<your_bot_name>
Once in the channel they should then be able to listen to events.
This is still a limitation of bots as of May 2017 because of a bug that it introduces-- see paulhammod's answer at https://github.com/slackapi/node-slack-sdk/issues/26. The correct way to add a bot is the the slash command /invite #<bot.user> <channel_name> as #MattGifford pointed out.
However, #nafg introduced an interesting workaround. If you generate a personal API_TOKEN for your account, then you can use it to invite a bot.
For instance, in python one could run:
import slackclient
sc = slackclient.SlackClient(<PERSONAL_API_TOKEN>)
sc.api_call('channels.invite', channel=<channel_id>, user=<user_id>)
This will invite the bot to the channel. If you wanted to automate inviting your bot to new channels, you can look at event listeners in the API found at https://api.slack.com/rtm
As long as you allow your API_TOKEN to be used for that purpose, it seems that it would work as needed, albeit less convenient.
I haven't actually tried this but I would expect that you can first call channels.join on behalf of an actual user (e.g., yourself), then call channels.invite as that user to add the bot to that channel. I expect that is allowed, and it would then allow the bot to interact with that channel. This way you can automate everything.