My telegram bot with privacy set to off isn't receiving updates from t.me/ChatWarsMarket group but service messages. It works fine with every other group. Is there bug in telegram? How to recieve updates from this group?
Once the bot is added in a group, it remembers that privacy setting. If you change privacy settings via botfather actually it won't affect groups where the bot is already in.
Probably this is what happened to you. The only way to get rid of this is to kick and re add the bot to use new privacy settings in that group
Related
My bot currently works as a service to notify users of their application status on our platform. However, I am worried users who have strict privacy settings will miss these notifications.
Does anyone know other options to work around this? My best option currently is creating a private channel with said user. Maybe getting verified?
Thanks
I am using discordjs library and I can send DMs to users with their snowflake for now, no issues unless the user has these strict privacy settings.
All these users would be sharing at least one server with the bot.
I have attached below a small snippet illustrating where/ how I am sending these messages
code snippet example
Is it possible to programmatically enable/disable privacy mode and groups mode for the bot?
Can bot do it by itself??
Or only BotFather can do that?
Also, is the 20 bots restriction per account still a thing?
It's not possible to change privacy mode using bot API, but you can use MTPROTO API to communicate with BotFather through a real Telegram account that is the owner of the bot. So the bot can't do that itself.
Yes, currently you can only create 20 bots per account.
Receiving membersRemoved in context.activity for conversationUpdate in Bot Framework v4 (Javascript) for personal scope from msteams. According to the documentation membersRemoved is received when a member is removed from a Team or channel in which bot is added, but in our case bot is only enabled for personal scope. Can anyone help with the scenario when we can receive memberRemoved for personal channel, so that it can be handled properly in code.
Personal conversations in Teams are permanent. There is no scenario when you should receive membersRemoved in a personal conversation.
We found in the log that user is being soft deleted by data retention from the 1:1 thread with bot before the thread gets deleted. We're following up internal folks to understand if this has always been the case. Will report back once we know more.
Is there a way to send proactive cards from a bot to a Teams channel? The use case is a channel for service tickets. Once they get posted, a user will be able to interact with them with a few actions.
I’m looking at the documentation here for sending proactive messages. At the bottom, there’s a section for ”Creating channel conversations”, with a small reference to the startReplyChain(). However, the actual code and sample on GitHub still seem to reference a conversation with a member rather than sending something proactive to a channel.
There does appear to be documentation for incoming and outgoing webhooks, which is what I may end up doing. My only real concern is that it requires using Actionable Cards, which it references as legacy everywhere. This is despite saying that you can’t send Adaptive Cards with them. Perhaps they intend to enable these connectors to send Adaptive Cards, it’s not just very clear to me if this is a long-term solution I should be focusing on.
This is definitely possible, and it's important to note that you can even send from another process/application (e.g. on a schedule from an AWS Lamba). You can see a sample here for this.
The process of sending the message is just part of the story though - you need to have certain information already saved (e.g. in your database) to know how to contact the right user, group chat, or channel conversation, but there are a few ways to get that information. The most common is, when you bot is added to the conversation, to get it from the conversationUpdate event. You'll need conversation id, service url, tenant id, and your bot's App Id (what you get in the Azure portal for your bot, and which you're using already in your app's configuration, teams manifest, etc.). You can read more about the topic here and here.
Another option, if you don't have access to conversationUpdate (e.g. the user hasn't installed your app) is to call the Graph API to install your app. It's only possible to do this to a channel (on the v1 or beta api) (see here) or to a user (see here), but on the beta api only, and not (yet?) for a group chat.
I am trying to implement a Bot which can get all the Direct Message Channels, all the workspace Users and send Direct Messages to them.
If I work with my development workspace everything works as expected but when I try with my company workspace, my Bot is only capable to retrieve the Direct Message Channel it is belonging to.
Any idea on how to fix by production Bot.
You can't. Due to the security architecture of Slack one can only see the messages of channels he is part of. Its the same even for the "super admin" of a Slack team (the primary owner). Bots and apps inherit that right from the user who installed it (= authed the access token).
The reason it works on your development Slack, is that your user has probably created all private channels on Slack, and/or is the same that authed the access token your app uses.
Thanks to Slack support I got my answer:
The OAuth Token issued is specific to the user who has installed your app and represents the permission(s) to perform actions on behalf of the user. More detailed information here - https://api.slack.com/docs/oauth.
The token can only perform the same actions as the user who installed the app i.e If the user can’t view or post in the channel, they can’t grant permission to something they do not have.