tab issue
This commit is contained in:
parent
0e388c086c
commit
d8fd798ec0
60
main.py
60
main.py
@ -37,6 +37,7 @@ def send_mass_mail(guild, subject, content):
|
|||||||
|
|
||||||
|
|
||||||
def send_mail(guild, to, subject, content):
|
def send_mail(guild, to, subject, content):
|
||||||
|
print(to, content)
|
||||||
msg = EmailMessage()
|
msg = EmailMessage()
|
||||||
msg['Subject'] = subject
|
msg['Subject'] = subject
|
||||||
msg['From'] = guild['mail_from']
|
msg['From'] = guild['mail_from']
|
||||||
@ -112,32 +113,8 @@ def scrap_framavote (admin_url):
|
|||||||
finder.feed(requests.get(admin_url).content.decode('UTF-8'))
|
finder.feed(requests.get(admin_url).content.decode('UTF-8'))
|
||||||
return finder
|
return finder
|
||||||
|
|
||||||
def create_framavote (guild, names):
|
def send_mails_vote(guild, finder):
|
||||||
finder = scrap_framavote(guild['framavote'])
|
shuffle(guild['members'])
|
||||||
|
|
||||||
# Remove everything
|
|
||||||
erase_framadate(guild['framavote'], finder.delete_links)
|
|
||||||
|
|
||||||
# Add columns
|
|
||||||
for name in names:
|
|
||||||
req(guild['framavote'], 'choice='+name+'&confirm_add_column=')
|
|
||||||
|
|
||||||
# Update control sum
|
|
||||||
finder = scrap_framavote(guild['framavote'])
|
|
||||||
|
|
||||||
# Random order
|
|
||||||
#shuffle(guild['members'])
|
|
||||||
|
|
||||||
# Add lines
|
|
||||||
for i in range(len(guild['members'])):
|
|
||||||
print('create_line_framadate ', i)
|
|
||||||
create_line_framadate(finder.token, guild['framavote'], 'Anne ONyme'+str(i+1), names)
|
|
||||||
time.sleep(2)
|
|
||||||
|
|
||||||
# Update links
|
|
||||||
finder = scrap_framavote(guild['framavote'])
|
|
||||||
|
|
||||||
# Send links
|
|
||||||
for mail,link in zip(guild['members'], finder.public_links):
|
for mail,link in zip(guild['members'], finder.public_links):
|
||||||
content = f"""
|
content = f"""
|
||||||
Ce mail remplace tous les précédents s’il y en a !
|
Ce mail remplace tous les précédents s’il y en a !
|
||||||
@ -147,19 +124,6 @@ Vous avez été convié·e à un vote anonyme. Voici le lien où voter :
|
|||||||
send_mail(guild, mail, '[Mutubot] Vous êtes convié·e à un vote anonyme', content)
|
send_mail(guild, mail, '[Mutubot] Vous êtes convié·e à un vote anonyme', content)
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
|
|
||||||
return finder.public_link
|
|
||||||
|
|
||||||
def erase_framadate (admin_url, delete_links=[]):
|
|
||||||
req(admin_url, 'remove_all_votes=')
|
|
||||||
req(admin_url, 'confirm_remove_all_votes=')
|
|
||||||
for link in delete_links:
|
|
||||||
requests.get(link)
|
|
||||||
|
|
||||||
|
|
||||||
def create_line_framadate (token, admin_url, voter, names):
|
|
||||||
data = 'control=' + token + '&name=' + voter + ''.join('&choices%5B'+str(i)+'%5D=+' for i in range(len(names))) + '&save='
|
|
||||||
x = req(admin_url, data)
|
|
||||||
|
|
||||||
@scheduler.scheduled_job('cron', day=25)
|
@scheduler.scheduled_job('cron', day=25)
|
||||||
def cleaner ():
|
def cleaner ():
|
||||||
for guild_id in guilds:
|
for guild_id in guilds:
|
||||||
@ -204,7 +168,6 @@ Le mutubot
|
|||||||
intents = discord.Intents.default()
|
intents = discord.Intents.default()
|
||||||
intents.message_content = True
|
intents.message_content = True
|
||||||
client = discord.Client(intents=intents)
|
client = discord.Client(intents=intents)
|
||||||
randomvote = None
|
|
||||||
|
|
||||||
@client.event
|
@client.event
|
||||||
async def on_ready():
|
async def on_ready():
|
||||||
@ -214,20 +177,25 @@ async def on_ready():
|
|||||||
|
|
||||||
@client.event
|
@client.event
|
||||||
async def on_message(message):
|
async def on_message(message):
|
||||||
global randomvote
|
|
||||||
if message.author == client.user:
|
if message.author == client.user:
|
||||||
return
|
return
|
||||||
if message.guild.id not in guilds:
|
if message.guild.id not in guilds:
|
||||||
return
|
return
|
||||||
if message.content.startswith('!randomvote '):
|
if message.content.startswith('!randomvote '):
|
||||||
await message.reply('Créer un vote anonyme va détruire le framavote actuel. Êtes vous sûr·e ? Répondez « Pamplemousse agrivoltaiste » pour confirmer')
|
await message.reply('Vérifiez bien que le framadate a le bon nombre de ligne (une par votant·e) et de colonnes (une par option à voter) ? Répondez « Pamplemousse agrivoltaiste » pour confirmer que c’est tout bon et lançer l’envoi des lien de vote')
|
||||||
randomvote = message.content.split(' ')[1:]
|
|
||||||
return
|
return
|
||||||
elif message.content == 'Pamplemousse agrivoltaiste' and message.type == discord.MessageType.reply :
|
elif message.content == 'Pamplemousse agrivoltaiste' and message.type == discord.MessageType.reply :
|
||||||
|
finder = scrap_framavote(guild['framavote'])
|
||||||
|
guild = guilds[message.guild.id]
|
||||||
|
nb_links = len(finder.public_links)
|
||||||
|
nb_membres = len(guild['members'])
|
||||||
|
if nb_links != nb_membres:
|
||||||
|
await message.reply("Il semblerait qu’il n’y ait pas autant de lignes("+nb_links+") que de membres("+nb_membres+")…")
|
||||||
|
return
|
||||||
|
|
||||||
await message.reply("Ok je m’y met, patientez bien ça peut prendre plusieurs minutes")
|
await message.reply("Ok je m’y met, patientez bien ça peut prendre plusieurs minutes")
|
||||||
public_link = create_framavote(guilds[message.guild.id], randomvote)
|
send_mails_vote(guilds[message.guild.id], finder)
|
||||||
randomvote = None
|
await message.reply("C’est fait ! Vérifiez que tout le monde a reçu les mails ; l’informatique ce n’est jamais bien déterministe… ")
|
||||||
await message.reply("C’est fait ! Vérifiez bien par vous même parce que je suis un peu fini à l’arache… " + public_link)
|
|
||||||
return
|
return
|
||||||
elif message.channel.id in guilds[message.guild.id]['mailed_channels']:
|
elif message.channel.id in guilds[message.guild.id]['mailed_channels']:
|
||||||
await mail_message(message)
|
await mail_message(message)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user