Is there a way to be able to have a user in a supergroup chat interact with a bot via keyboards (including inline keyboards) without the other supergroup members seeing the interactions?
As it stands in our current build, each user's interactions are showing up in the chat, making for a very cluttered/convoluted chat. Thanks all!
Currently it is not possible to show bot messages to only a specific user. you can use theselective field of ReplyKeyboardMarkup
so the keyboard will only be visible to mentioned users. and you can delete the messages after the interaction is done. but other than this i can't think of any method.
And of course you can use deep linking (to know from which group he is redirected) and redirect the user to a private chat with the bot.
Related
We have a telegram channel in which we publish links of organized events. We would like to offer the possibility for our users to have a separate chat for each event in order to avoid confusion on the main chat. The chat should open automatically by clicking on the message containing the link.
it is a feature that I have seen made on the others channels I frequent but I don't know how to use it. can you help me?
I'm building a teams app that contains some tabs and a bot.
Is it possible to, when an action is performed on a tab (i.e. clicking a button), initialize automatically a chat with the bot, or send a specific message?
Tks
Based on the comments above, what you're looking to do is implement "pro-active" messaging, where the bot itself initiates the conversation. It's definitely possible, and you can read more to get started here and here. The most important thing to know is that your user has to have installed the bot already, to get a "conversation context", but if they've installed the app, which includes the bot, to get the tab, then you're fine. You need to get some variables when they do install the app, which you hook into the conversationUpdate event to get access to. Give it a go and let me know if you have specific questions, here on SOverflow.
Like other personal messenger, a user might want to organise chat channels they no longer wish to participate in by leaving the channel.
In Getstream sense, it would be removing the user from the channel's member list.
There does not seem to be a functionality for this.
I have tried to include removeMembers permission to user, however, I am getting an error that members cannot be removed from distinct channels.
You have a couple options to achieve this:
Remove the channel server-side (this makes sense if the conversation
is over for both)
Hide the conversation for one user (see channel.hide). Doing so will hide the conversation for one user until a new message is added.
Is it possible that carousel in Bot Framework (where it is allowed - like Messenger, Bot Emulator etc.) updates continuously (according to a database from which it reads data) after it was initially rendered and sent as a message to the user - without rerendering the whole carousel and resending it to the user?
Something like - .onFlipHandRightOnCarousel or .onFlipHandLeftOnCarousel - delete void HeroCards (where in database they are flagged as 'inactive') from already rendered carousel and rerender this new carousel without resending a new session.send(msg) to the user?
Modifying messages that have already been sent means modifying the chat history. This functionality will be highly channel-specific as it depends on how the client handles the history and what the client allows users to do to the history. Many channels do not support this functionality but some do. Generally speaking, if you as a user can go back and delete or edit messages in the chat history then a bot can too. If you as a user cannot then you should not expect a bot to be able to do it. But if you're working with a channel that does allow history edits then I imagine you should be able to edit the carousels if those are also supported.
I'm looking for a way in telegram group that don't let member to send message or, delete message after a person send.
Is it possible to create a bot like this how help admins to stop chatting after start the bot?
Is there any other way to do this?
Now you can do this.
Restriction from chatting in group:
Now you can achieve this with restrictChatMember() Bot API method.
Deletion of users' messages:
For deletion use this method: deleteMessage()
DON'T forget to grant admin rights to your bot.
11/07/18: This answer is no longer up to date please look at woozly's answer
Short answer: No (at least not with the bot api)
Longer answer:
There currently is no way of stopping someone from chatting without outright kicking them out of the group. Additionally, bots currently lack the ability to delete messages so that's also not doable with the bot API.
Edit: Actually it's probably possible using the Telegram API instead of the Telegram Bot API where you would just create a regular user which is controlled programmatically to delete messages of "muted" people. I assume that this is likely not as simple as doing stuff with the bot API but in theory, it's possible.
#telemethebot has exact the feature you request:
Silent Mode
When group silent mode switched on, only group administrators can speak in that group. This help you turning your Telegram supergroup to a channel temporarily.
Teleme - Features