I made a simple chatbot using Microsoft Bot Framework and integrated it with Telegram.
He works fine whenever I message him privately but whenever I put him in a group with my friends, he doesn't reply, even when I mention him.
/setjoingroups is enabled, and so is /setprivacy.
First make sure it is not caused by Microsoft Bot itself. Then for all normal bots --
Always add a Telegram bot to a group via the bot's info window, instead of inviting the bot to a group via the group's info window.
It's a clear trap for beginners. I'm surprised that Telegram didn't note this in their documentation.
When you configured your bot on Telegram, did you make it an inline bot? It's been my experience that inline bots cannot participate in group chats, but can message privately. If not, please open a GitHub issue here and we'll follow up there.
Beyond all other suggestions like turning off inline functions, setting privacy to disabled and allowing to participate in groups, I also made the bot an admin of my group. And now it processes all messages. That's what's worked for me.
I had this same problem, and I found that I just needed to add the bot as an 'admin' to the chat instead of just a normal member. The telegram bot must have admin privileges to access every message/image that the users of the group-chat send.
Related
i'm trying to create a bot which can read/receive all messages in a specific channel and send them to me .
my problem here is that i can't find a way to access those messages in my bot
important thing is:
i'm not admin or creator of that channel
i don't want to ask the creator to add my bot as administrator
i've searched in google but i wasn't able to find a solution
and i'm also sure that it is possible to do it, because there are already some junction bots with exact same performance .
any references or suggestions are appreciated .
As already pointed out in the Telegram group of python-telegram-bot, bots can't receive messages from channels where they are not an admin. If you want something like this, you'll have to use a user bot, e.g. a program that controls your private Telegram account (in contrast to controlling a bot account). See here for some info on user bots.
Note that also the provider that you linked seems to be using userbots behind the scenes. More precisely, the docs on the so called "DirectConnection" state that you need to enter a phone number (associated to a telegram account) and then "Follow the instructions" which probably just means to enter the verification code that Telegram sends you. Phone number + verification code is exactly what is needed to control your private Telegram account.
Disclaimer: I'm currently the maintainer of python-telegram-bot.
I need to be able to delete self generated messages by my bot automatically, or clear the entire channel's messages for that matter.
I'm not quite sure I saw anything useful in the Documentation. Is that possible?
Short:
Is there any way to detect if a user stores or forwards a message (e.g. a video) in a channel?
Long:
I am completely new to programming for Telegram (although am a programmer). So have no idea about the tools that are provided by Telegram's API. I actually found nothing related to this issue browsing the web and Telegram documentations. So I thought someone might have an experience with it.
The scenario is that a client of mine is running a virtual teaching system on Telegram and her problem is that the added members to the channel are able to forward the teaching videos to other persons out of the channel, who have not actually paid the fee. Now is there any work around on earth for this problem?
You can't track user in Telegram, remember this IM is very care about privacy.
Try making it a Bot rather than a channel, you can create bots with a bot in telegram called botfather search it and consider making a bot instead of a channel
there isn't any way to track users to see if they forward or save the videos.
you can only do one of these:
create a bot using telegram api (not telegram bot api) and then send videos as a self destructing message to each user.
or put the videos on a website which only registered users can login and watch.
We have created telegram bot which has many difficult operations. Bot was created by one developer using his phone number. Is it possible change bot's owner or add another user as admin to bot?
Recently, the function of transferring the bot to another person appeared.
One of possible solutions (most simple as I wonder) is in the creation a new bot with same username. So only need to delete your old bot, create new and change bot token in your program code.
Note that it's possible only if the old bot's owner collaborates. To prevent similar situations your company need to create one telegram account for creating bots, channels etc., without ties to concrete persons.
UPD 2020
Telegram teem finally did the trick and added the changing ownership feature. Bingo. But this will not help if you can't ping an owner, same.
Please see Bekorchi's answer, it's possible to transfer bots since 2020 October.
Out-dated:
Not possible to transfer by #BotFather command at this time (2017 July).
You can contact human supporter #BotSupport, they may have permission to transfer that.
the developer can delete all of other bots and channel and chat history, then use CHANGE NUMBER in setting and transfer the bot to new virgin mobile number.
after this, the developer can login again with his/her own mobile number to telegram as new account.
Nowdays (October 2022) you can transfer bot ownership. But you can't do it via web version
(see, Yes option is disabled)
Yet, you can do it via mobile version:
but you should fulfill following demands:
P.S. If you have enough rights please move my note to a comment of the proper answer
How can I add another existing bot to my BothFather in telegram?
I have my own bot and I can see it in BotFather and now I am asked to manage another bot (which I have its security key).
But I could not see this bot in my BotFather(obviously, because I did not create it) and I could not find any way to add this second bot into my BotFather in order to change its info or default commands list.
If I understand correctly, you have a bot that you created yourself with #BotFather and you can manage its commands, info etc. by talking to BotFather.
Then you have been asked to manage another bot created by someone else and you have been given its token.
Let me tell you that you cannot change the info of the Bot created by someone else. i.e. you don't have the ownership of the Bot.
Bot Ownership transfer is a feature that Telegram Support said will consider in future.
As far as making the bot work, by using the API Token you can go through their Bot API Documentation.
[EDIT]
With Bot API 5.0, it's now possible to Transfer the bot ownership.