本文整理汇总了Python中temba.contacts.models.URN.from_telegram方法的典型用法代码示例。如果您正苦于以下问题:Python URN.from_telegram方法的具体用法?Python URN.from_telegram怎么用?Python URN.from_telegram使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类temba.contacts.models.URN
的用法示例。
在下文中一共展示了URN.from_telegram方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_claim
# 需要导入模块: from temba.contacts.models import URN [as 别名]
# 或者: from temba.contacts.models.URN import from_telegram [as 别名]
def test_claim(self, mock_set_webhook, mock_get_me):
url = reverse("channels.types.telegram.claim")
self.login(self.admin)
# check that claim page URL appears on claim list page
response = self.client.get(reverse("channels.channel_claim"))
self.assertContains(response, url)
# can fetch the claim page
response = self.client.get(url)
self.assertContains(response, "Connect Telegram")
# claim with an invalid token
mock_get_me.side_effect = telegram.TelegramError("Boom")
response = self.client.post(url, {"auth_token": "invalid"})
self.assertEqual(200, response.status_code)
self.assertEqual(
"Your authentication token is invalid, please check and try again",
response.context["form"].errors["auth_token"][0],
)
user = telegram.User(123, "Rapid", True)
user.last_name = "Bot"
user.username = "rapidbot"
mock_get_me.side_effect = None
mock_get_me.return_value = user
mock_set_webhook.return_value = ""
response = self.client.post(url, {"auth_token": "184875172:BAEKbsOKAL23CXufXG4ksNV7Dq7e_1qi3j8"})
channel = Channel.objects.get(address="rapidbot")
self.assertEqual(channel.channel_type, "TG")
self.assertEqual(
channel.config,
{
"auth_token": "184875172:BAEKbsOKAL23CXufXG4ksNV7Dq7e_1qi3j8",
"callback_domain": channel.callback_domain,
},
)
self.assertRedirect(response, reverse("channels.channel_read", args=[channel.uuid]))
self.assertEqual(302, response.status_code)
response = self.client.post(url, {"auth_token": "184875172:BAEKbsOKAL23CXufXG4ksNV7Dq7e_1qi3j8"})
self.assertEqual(
"A telegram channel for this bot already exists on your account.",
response.context["form"].errors["auth_token"][0],
)
contact = self.create_contact("Telegram User", urn=URN.from_telegram("1234"))
# make sure we our telegram channel satisfies as a send channel
response = self.client.get(reverse("contacts.contact_read", args=[contact.uuid]))
send_channel = response.context["send_channel"]
self.assertIsNotNone(send_channel)
self.assertEqual(send_channel.channel_type, "TG")