We are building our first bot for Hangouts Chat to support JIRA Server (https://github.com/seibert-media/hangouts-jira-bot) and I had to notice that Events in Google PubSub only get sent when the bot receives a direct message or get's mentioned in a room, but not for every room message.
Is this intended behavior or are we doing something wrong.
This is the current intended behavior for Hangouts Chat. There is no way to have any sort of RTM socket, so everything in Hangouts Chat is currently event driven by #mentioning or dming a bot.
Related
How can I make a discord bot have no status like not be in online, idle, invisible, do not disturb just no status some bots have that and I'm curious how its done my bots also in discord.js
I keep trying multiple times but it doesn't work I also can't find any way in the guides to do this.
These bots run through the application webhook and do not connect through the main Discord gateway. You must therefore respond to slash commands or other interactions exclusively through the application webhook - note that this excludes the events from being sent to the gateway. If your bot responds to events such as messages, reactions, or members joining, you have to set your status to offline.
See the following tutorial from the Discord API docs: https://github.com/discord/discord-api-docs/blob/main/docs/tutorials/Hosting_on_Cloudflare_Workers.md
I just used discord API (discord.js) to send 45 direct messages to 45 users. Then I got this message from my developer panel:
Bot Quarantined
Your bot has been flagged by our anti-spam system for abusive behavior. While your bot is quarantined, it is unable to join any more guilds, or send any direct messages to users it has not messaged before. If you believe this to be in error, click here and select "Appeal an Action Trust and Safety took on my bot" as the Report Type to submit an appeal.
How can I fix this issue and make my bot normal again? And I want to know how to queue my direct messages for not getting ban by discord. something like 2 messages per minute or ...? Thanks
I've been playing with the REST API for writing kik bots and it seems very straightforward to do powerful things.
The kik bot I'm familiar with is RAGE, and that has a feature that when talking to it you send it 'friend' command and it responds by being your friend, which makes it able to be invited into a group you're in.
My question is, what API call is being made by the bot when it receives a 'friend' command. My test bot can't be invited to a group and I'd like it to be able to.
Feels like I'm missing a bunch of logic but not sure what - anyone assist?
Rage bot does not use official kik api Rage bot is not a bot account from kik, It's an user account. Hence It's a self bot. There is an open source python library that allows you to turn an user account into a Bot and Rage bot uses that exact same api you can find the github page here
We are not migrated to Azure as of now, so not using MS Bot-Framework.
We are building an AI bot for skype for business. We already have our NLP modules (as REST api(s)) on a server. Now all we need is when a user ping our bot we need to get user message send the message to the server, which will return us the reply and put this reply back to the user.
basically to the user he is just ping a guy in the firm, while this guy/ bot/ profile, gets the automatic reply from a rest call.
Now though this looks simple, I am not sure what is the best way to do this out of:
WPF controls
Lync Client SDK
UCWA
UCMA
Skype for Web SDK
I am quite new to this, and already alot confused.
I figured out the best way to do this was UCMA.
https://msdn.microsoft.com/ru-ru/library/dn465943(v=office.16).aspx
And here is the sample code for the same
https://gist.github.com/AbhishekAshokDubey/110ebae9c48e4f5604c0feef13121cc2
I've read this paragraph from the App Engine documentation a dozen times and still am completely in the dark about how chat invitations work:
Invitations
Google Talk and other chat servers
will only accept messages for users
that are "subscribed" to the sender,
either because the user invited the
sender to chat or because the user
accepted an invitation to chat sent by
the sender. An App Engine app can send
chat invitations using the service
API. As with sending email, a best
practice is to send a chat invitation
only when the user asks, such as by
clicking a button on a web page.
Alternatively, the app can ask the
user to send an invitation to the
app's XMPP address to enable receiving
of messages.
App Engine accepts all chat
invitations automatically, and does
not communicate invitations to the
application. App Engine will route all
chat messages to the application,
regardless of whether the sender
previously sent an invitation to the
app.
Maybe the problem is I haven't used chat so I'm not familiar with how invitations work in practice. But the first issue is how/why/whether an application needs/gets permission to chat with a user.
The paragraph above seems to say the following:
The application needs permission to send XMPP messages to the user (and the user needs permission to send XMPP messages to the app?), so
The user has to send an invitation to the app to allow it to send messages to the user (and the app has to send an invitation to the user to allow the user to send messages to the app?)
App Engine receives the chat invitation but does not communicate it to the app
Question: How does the app know whether it's ok to send messages to the user since App Engine does communicate anything to app about the user's response to the invitation?
Gmail is a great example:
I send a message to my friend who is not on my "Friend List". Gmail does not deliver my message, but instead delivers a message that says "Anthony would like to chat. Do you accept?"
If my friend clicks "yes", they get my message and I'm on their friend list and they are on my friend list, and we can chat freely without Gmail making sure it's okay.
If my friend clicks "no", they never see my original message and GMail asks permission if I try again later.
So the App does communicate with the user on the other end, it just doesn't relay the message, only that I'm interested in being chat-buddies.
quick update
Another way of looking at this (if you remember these days), is a collect call. The operator simply says "Do you wish to accept a collect call from Jones?" The operator doesn't say "He says it's really important, he's in jail." And the operator doesn't say "He said no, you can rot in jail." to Jones. They broker the connection without either party making real contact until both parties agree.
(Of course, we would always say our name was "I'm stuck at the mall!" when we tried calling home collect. But since there is no charge for a chat, such sneaky workarounds are not necessary in the XMPP world.)
Use the get_presence() function to determine if it's ok to send to the user. If you send a message to a user that has not accepted an invitation, most XMPP servers (including Google Talk) will not deliver either the message or an automatic invitation. With Google Talk at least, a user who has accepted an invitation will be "present" even when they're logged off, since Gmail can deliver your XMPP messages as pseudo-emails.