一个机器人管理与一个用户的许多讨论
One bot managing many discussions with one user
是否可以创建一个机器人来管理与一个用户的多个对话?
我需要创建一个能够在随机聊天和电报之间进行link的机器人。
例如,如果我不想再使用 Facebook Messenger,可以创建一个机器人,它会从我的帐户向我的 Telegram 号码发送每条新的 Facebook 消息。该机器人将为每个向我发送消息的独特 Facebook 用户创建一个新对话。或者,如果不可能,一个机器人会为每个新用户对话创建一个新的临时机器人并给我他的@name。
Telegram Bot 是否可行 API?
你想要的是可能的,因为你知道每个电报用户在电报中都有一个唯一的聊天 ID,所以如果你的朋友或用户直接给你的机器人发短信,你可以使用如下代码从你自己的电报中回复他们的消息帐户并让机器人将其发送给相关用户:
if(update.Message.Text != null)
{
var req = new SendMessage(Your_Own_ChatID, "This message is sent from the user with chat ID: "+update.Message.Chat.Id.ToString()+"\n In order to reply it type the user's chat ID and add one comma then type in your text and tap on send.\nThe message:"+ update.Message.Text);
await bot.MakeRequestAsync(req);
continue;
}
else if (update.Message.Text.Contains(",") && update.Message.Chat.Id == Your_Own_ChatID)
{
string sender_chatID = update.Message.Text.Split(',').First();
string Message = update.Message.Text.Split(',').Last();
var req = new SendMessage(long.Parse(sender_chatID), Message);
await bot.MakeRequestAsync(req);
continue;
}
但是,如果您的用户从 Facebook 向您发送消息,并且您希望机器人将它们发送到您的电报帐户并使用 Facebook API 或其他方式通过机器人再次回复它们,那么所有这些都必须改变是:
您必须保存 his/her Facebook 用户名,而不是发件人的聊天 ID,并使用 FB 用户名而不是电报聊天 ID 回复。
Note that this code is just a sample and of course separating the Chat ID and the reply is a simple solution, but my recommendation is to use inline or custom keyboards to answer the message and that way you don't even need to type down the user's ChatID or FB account.
您还可以使用电报的回复功能并检查回复是否为空,并找到您尝试回复的消息发件人的聊天 ID(或 FB 帐户或...),并将回复直接发送给该发件人用户。
根据最新的电报机器人api,您可以制作多个机器人,但至关重要的一件事是机器人的API令牌that 是通过botFather手动制作的。您可以制作一个机器人并让其他机器人继承其功能,每次新用户向您发送消息时,将机器人分配给 him/her。到这里为止,对于 API 令牌,您所能做的就是制作与您的 Facebook 好友数量一样多的机器人,并将他们的 api 令牌存储在数据库中,并传递其中一个 api 代表用户的机器人令牌。
这就是我认为可以解决您的问题的方法,但是 api 令牌部分有点奇怪,尽管您可以在未签名的数量 [=22= 时从主机器人向您自己的帐户发送通知] 代币少于 5。
如您所知,Facebook 好友的数量可以改变,他们中的任何一个都可以随时给您发短信,因此必须有足够的令牌,因为每次他们中的一个第一次给您发短信时,都必须使用预制 api 令牌并继承主机器人的功能。从那一刻起,那个令牌和那个机器人就代表了试图给你发消息的人。
Also I think there must be a limit to the number of the bots that you
can make using one telegram account which can be solved using
different accounts.
使用本项目中使用的方法可以实现。
[https://github.com/idoco/intergram][1]
本质上,您为每个用户创建了一个随机用户 ID。为了回复该特定用户,您必须在电报客户端中使用回复消息的方法。即...右键单击消息以回复它。
是否可以创建一个机器人来管理与一个用户的多个对话?
我需要创建一个能够在随机聊天和电报之间进行link的机器人。
例如,如果我不想再使用 Facebook Messenger,可以创建一个机器人,它会从我的帐户向我的 Telegram 号码发送每条新的 Facebook 消息。该机器人将为每个向我发送消息的独特 Facebook 用户创建一个新对话。或者,如果不可能,一个机器人会为每个新用户对话创建一个新的临时机器人并给我他的@name。
Telegram Bot 是否可行 API?
你想要的是可能的,因为你知道每个电报用户在电报中都有一个唯一的聊天 ID,所以如果你的朋友或用户直接给你的机器人发短信,你可以使用如下代码从你自己的电报中回复他们的消息帐户并让机器人将其发送给相关用户:
if(update.Message.Text != null)
{
var req = new SendMessage(Your_Own_ChatID, "This message is sent from the user with chat ID: "+update.Message.Chat.Id.ToString()+"\n In order to reply it type the user's chat ID and add one comma then type in your text and tap on send.\nThe message:"+ update.Message.Text);
await bot.MakeRequestAsync(req);
continue;
}
else if (update.Message.Text.Contains(",") && update.Message.Chat.Id == Your_Own_ChatID)
{
string sender_chatID = update.Message.Text.Split(',').First();
string Message = update.Message.Text.Split(',').Last();
var req = new SendMessage(long.Parse(sender_chatID), Message);
await bot.MakeRequestAsync(req);
continue;
}
但是,如果您的用户从 Facebook 向您发送消息,并且您希望机器人将它们发送到您的电报帐户并使用 Facebook API 或其他方式通过机器人再次回复它们,那么所有这些都必须改变是:
您必须保存 his/her Facebook 用户名,而不是发件人的聊天 ID,并使用 FB 用户名而不是电报聊天 ID 回复。
Note that this code is just a sample and of course separating the Chat ID and the reply is a simple solution, but my recommendation is to use inline or custom keyboards to answer the message and that way you don't even need to type down the user's ChatID or FB account.
您还可以使用电报的回复功能并检查回复是否为空,并找到您尝试回复的消息发件人的聊天 ID(或 FB 帐户或...),并将回复直接发送给该发件人用户。
根据最新的电报机器人api,您可以制作多个机器人,但至关重要的一件事是机器人的API令牌that 是通过botFather手动制作的。您可以制作一个机器人并让其他机器人继承其功能,每次新用户向您发送消息时,将机器人分配给 him/her。到这里为止,对于 API 令牌,您所能做的就是制作与您的 Facebook 好友数量一样多的机器人,并将他们的 api 令牌存储在数据库中,并传递其中一个 api 代表用户的机器人令牌。
这就是我认为可以解决您的问题的方法,但是 api 令牌部分有点奇怪,尽管您可以在未签名的数量 [=22= 时从主机器人向您自己的帐户发送通知] 代币少于 5。 如您所知,Facebook 好友的数量可以改变,他们中的任何一个都可以随时给您发短信,因此必须有足够的令牌,因为每次他们中的一个第一次给您发短信时,都必须使用预制 api 令牌并继承主机器人的功能。从那一刻起,那个令牌和那个机器人就代表了试图给你发消息的人。
Also I think there must be a limit to the number of the bots that you can make using one telegram account which can be solved using different accounts.
使用本项目中使用的方法可以实现。
[https://github.com/idoco/intergram][1]
本质上,您为每个用户创建了一个随机用户 ID。为了回复该特定用户,您必须在电报客户端中使用回复消息的方法。即...右键单击消息以回复它。