async def send_token(forum_member, discord_member, token): """Send token via forum MP Args: forum_member (str): Username (forum) to send token to discord_member (discord.Member): discord Member who requested token token (str): token to send Returns: bool: success for sending the Private Message """ subject = "Token de validation pour le Discord" message = ("Voici le token que vous avez demandé sur Discord " f"(utilisateur {discord_member}) :\n\n" f"\t{token}\n\n" "si vous n'êtes pas à l'origine de cette demande " "merci d'ignorer ce message") async with PhpBB(forum_host) as phpbb: await phpbb.login(forum_user_name, forum_password) success = await phpbb.send_private_message(receiver=forum_member, subject=subject, message=message) return success
async def test_fetch_birthdays(): """Fetch birthdays""" async with PhpBB(host) as phpbb: await phpbb.login(receiver_name, receiver_password) out = await phpbb.get_birthdays() print(*out, sep='\n') assert out is not None
async def main(): print(f"host : {host}") async with PhpBB(host) as phpbb: await phpbb.login(username, password) await phpbb.send_private_message(receiver=receiver, subject=subject, message=message)
async def send(): """Send message with token to receiver.""" async with PhpBB(host) as phpbb: await phpbb.login(sender_name, sender_password) await phpbb.send_private_message(receiver=receiver_name, subject="validate my token", message=token)
async def save_in_db(self, ctx, discord_member, username): """Record user in database.""" async with PhpBB(forum_host) as phpbb: await phpbb.login(forum_user_name, forum_password) uid, rank = await phpbb.get_member_infos(username) logger.info( "Forum account %20s (%8d) with rank %15s for member %10s successfully verified (asked by %10s)", username, uid, rank, discord_member, ctx.author) # noqa: E501 # table names are guild IDS, with double quotes (sqlite thing, digits alone wont work) table = self.db.table(quote_id(ctx.guild.id)) table.upsert( { "discord_id": discord_member.id, "forum_id": uid, "discord_name": discord_member.display_name, "forum_name": username, "discord_roles": [ role.id for role in discord_member.roles if role.name != "@everyone" ], "forum_rank": rank }, pk="discord_id") logger.info("database has been updated")
async def clean(user, password, other_user): async with PhpBB(host) as phpbb: await phpbb.login(user, password) # Unread messages logging.info("clean account A unread mess") unread_mess_list = await phpbb.fetch_unread_messages() filterd_unread_mess_by_sender = [ m for m in unread_mess_list if m['fromto'] == other_user ] # noqa: E501 for m in filterd_unread_mess_by_sender: await phpbb.delete_mp(m) # Read messages logging.info("clean account A red mess") read_mess_list = await phpbb.fetch_read_messages() filterd_mess_by_sender = [ m for m in read_mess_list if m['fromto'] == other_user ] # noqa: E501 for m in filterd_mess_by_sender: await phpbb.delete_mp(m) # Sent messages logging.info("clean account A sent mess") sent_message_list = await phpbb.fetch_sent_messages() filtered_sent_message_list = [ m for m in sent_message_list if m['fromto'] == other_user ] # noqa: E501 for m in filtered_sent_message_list: await phpbb.delete_mp(m)
async def test_fetch_info(): """Fetch rank""" async with PhpBB(host) as phpbb: await phpbb.login(sender_name, sender_password) uid, rank = await phpbb.get_member_infos(receiver_name) assert rank == "Modérateur" assert uid == 43533
async def test_get_user_id(cookies): """Test _get_user_id.""" def mock_cookies(): return cookies async with PhpBB("http://dummy.io") as phpbb: phpbb.browser.list_cookies = mock_cookies assert phpbb._get_user_id() == 43533
async def test_is_logged_fail(not_logged_cookies): """Test get user SID.""" def mock_cookies(): return not_logged_cookies async with PhpBB("http://dummy.io") as phpbb: phpbb.browser.list_cookies = mock_cookies assert not phpbb.is_logged()
async def test_get_sid(cookies): """Test get user SID.""" def mock_cookies(): return cookies async with PhpBB("http://dummy.io") as phpbb: phpbb.browser.list_cookies = mock_cookies assert phpbb._get_sid() == "ffac899f2ff73"
async def delete(): """Delete last message from sender.""" async with PhpBB(host) as phpbb: await phpbb.login(receiver_name, receiver_password) read_mess_list = await phpbb.fetch_read_messages() filterd_mess_by_sender = [ m for m in read_mess_list if m['fromto'] == sender_name ] # noqa: E501 await phpbb.delete_mp(filterd_mess_by_sender[0])
async def main(): async with PhpBB(host) as phpbb: await phpbb.login(username, password) unread_mess_list = await phpbb.fetch_read_messages() print("Here are your read messages :") filterd_mess_by_sender = [ m for m in unread_mess_list if m['fromto'] == sender ] # noqa: E501 print(*filterd_mess_by_sender, sep='\n')
async def main(): async with PhpBB(host) as phpbb: await phpbb.login(username, password) await phpbb.fetch_unread_messages() message_to_read = phpbb.find_expected_message_by_user( expect_message_from_user) # noqa: E501 if message_to_read: message = await phpbb.read_private_message(message_to_read) print(message)
async def receive(): async with PhpBB(host) as phpbb: await phpbb.login(receiver_name, receiver_password) await phpbb.fetch_unread_messages() message_to_read = phpbb.find_expected_message_by_user(sender_name) if message_to_read: message = await phpbb.read_private_message(message_to_read) print(message) assert message['content'] == token
async def main(): async with PhpBB(host) as phpbb: await phpbb.login(username, password) sent_message_list = await phpbb.fetch_sent_messages() filtered_sent_message_list = [ m for m in sent_message_list if m['fromto'] == receiver ] # noqa: E501 print(*filtered_sent_message_list, sep='\n') for m in filtered_sent_message_list: await phpbb.delete_mp(m)
async def test_misc(): session = aiohttp.ClientSession() """Send and receive""" async with PhpBB(host, session=session) as phpbb: await phpbb.login(sender_name, sender_password) messages = await phpbb.fetch_read_messages() url, payload = await phpbb._make_delete_mp_payload(messages[0]) # #pylint: disable=unused-variable # noqa: E501 await session.close()
async def main(): async with PhpBB(host) as phpbb: await phpbb.login(username, password) unread_mess_list = await phpbb.fetch_unread_messages() print("Here are your unread messages :") print(*unread_mess_list, sep='\n') print( "\nHere are the contents of messages (messages have been marked as read) :" ) # noqa: E501 for unread_mess in unread_mess_list: message = await phpbb.read_private_message(unread_mess) print(message)
async def try_to_verify(expected): # Connect to phpbb forum and fetch unread PM async with PhpBB(host) as phpbb: await phpbb.login(username, password) await phpbb.fetch_unread_messages() # Read message from expected user message_to_read = phpbb.find_expected_message_by_user(expected) # noqa: E501 if message_to_read: message = await phpbb.read_private_message(message_to_read) if message['content'] == token: print("Valid token ! GOOD") return True else: print("Invalid token ! BAD !") return False return False
async def main(): async with PhpBB(host) as phpbb: await phpbb.login(username, password) uid = await phpbb.get_member_uid(querry_user) print(uid)
def test__extract_mp_number_id2(message2): f, p = PhpBB._extract_mp_number_id(message2) assert f == -1 assert p == 11852
async def main(): async with PhpBB(host) as phpbb: await phpbb.login(username, password) out = await phpbb.get_birthdays() print(*out, sep='\n')
async def main(): async with PhpBB(host) as phpbb: await phpbb.login(username, password) rank = await phpbb.get_member_rank(querry_user) print(rank)
def test__parse_age(tag, expected): age = PhpBB._parse_age(tag) assert age == expected
async def test_init_close(): phpbb = PhpBB("http://dummy.io") await phpbb.close()
async def test_fetch_rank(): """Fetch rank""" async with PhpBB(host) as phpbb: await phpbb.login(sender_name, sender_password) rank = await phpbb.get_member_rank(receiver_name) assert rank == "Modérateur"
def test__extract_mp_number_id1(message1): f, p = PhpBB._extract_mp_number_id(message1) assert f == 0 assert p == 11850