Discord.py è una libreria open source[1] per il linguaggio di programmazione Python, che permette di sviluppare Bot per il social media Discord.

Utilizzo

Con l'importazione del modulo all'interno di un programma, è possibile dare vita a un Bot il quale, attraverso le funzioni e le variabili della libreria, potrà comportarsi su Discord esattamente come un utente umano.

Funzioni

Il Bot potrà quindi eseguire, come un normale utente, le seguenti operazioni:

  • Leggere i messaggi
  • Inviare messaggi
  • Allegare file[2]
  • Accedere alla lista degli utenti. (Lista che dopo l'ultimo aggiornamento ha causato problemi, in quanto necessita di abilitare da Discord Developer Portal[3] una funzione privilegiata[4])
  • Scrivere in privato agli utenti

Non potrà naturalmente leggere i messaggi di canali[5] che per questioni di autorizzazione[6] non possa vedere.

Allo stesso modo per mancanza di autorizzazione da parte del proprietario[7] del server (che i programmatori usano chiamare Guild[8]) potrebbe subire limitazioni nei permessi per:

  • Scrivere in privato agli utenti
  • Menzionare gli utenti
  • Espellere gli utenti[9]
  • Bannare gli utenti[10]
  • Modificare il nickname degli altri utenti

Le autorizzazioni dei singoli Bot sono gestite da Discord Developer Portal, che genera link di invito al server per i Bot a seconda dei permessi che il ruolo personalizzato richiede.

In caso di mancata autorizzazione, il compilatore restituirà l'errore seguente:

discord.ext.command.errors.MissingPermission

Applicazioni

A partire dalle funzioni di base, utilizzando altri moduli tra i quali asyncio.py e time.py[11], si possono creare applicazioni utili, tra le quali:

  • Ban/Kick a tempo determinato
async def ban_temporaneo(member, tempo):
    await member.ban()
    await asyncio.sleep(tempo)
    await member.unban()
  • Stato del Bot a tempo determinato

Esempio di codice

import discord
import discord.ext.commands.errors
from discord.ext import commands
from discord import client

token = "<inserisci-qui-il-token-del-bot>"
Bot = commands.Bot(command_prefix = "£", description = "<inserisci-qui-la-descrizione-del-bot>")
gioco = discord.Game("£Aiuto | Bot | @Bot#1127")

@Bot.event
async def on_ready():
    print(Bot.user, " è ora online ", "ID: ", Bot.user.id)
    await Bot.change_presence(status = discord.Status.idle, activity = gioco)

Note

  1. ^ Discord.py, su awesomeopensource.com. URL consultato l'11 Maggio 2021.
  2. ^ Che devono però essere presenti nella stessa cartella del programma, e che vanno quindi consegnati nel caso ci si avvalga di un servizio di hosting.
  3. ^ discord.guild.members, su Python.tutoriallink.com.
  4. ^ discord.Intents, su https://discordpy.readthedocs.io/. URL consultato l'11 Maggio 2021.
  5. ^ Si veda Discord, alla definizione di canale, sottodivisione del "server".
  6. ^ Si veda Discord, nella sezione riguardante la gerarchia dei ruoli, e i vari permessi.
  7. ^ Dalla stessa libreria Discord.py definito (discord.guild.)owner.user
  8. ^ Server vs Guild, su GitHub, 15 Agosto 2016. URL consultato l'11 Maggio 2021.
  9. ^ Esiste il comando apposito
    member.kick()
    
    Con il parametro opzionale reason
  10. ^ Esiste il comando apposito
    member.ban()
    
    Con il parametro opzionale reason
  11. ^ L'equivalente di <locale> (lettura "local-e") in C++, importa una serie di variabili a seconda del luogo nel quale ci si trova, tra le quali il fuso orario e i caratteri UTF-8 della lingua locale.

Il Portale Informatica è un punto di raccolta per le voci riguardanti l'informatica, lo studio dei fondamenti teorici dell'informazione e della computazione e delle tecniche pratiche per la loro implementazione e applicazione nei sistemi informatici. L'informatica è frequentemente descritta come lo studio sistematico dei processi algoritmici che descrivono e trasformano l'informazione. È il punto di incontro di almeno due discipline autonome: il progetto, la realizzazione e lo sviluppo di macchine rappresentatrici ed elaboratrici di numeri e i metodi di risoluzione algoritmica di problemi dati.

  Storia dell'informatica

L'informatica ha radici molto antiche, in quanto sistemi per automatizzare il trattamento dei dati e delle operazioni aritmetiche erano noti già ai Babilonesi intorno al X secolo a.C., in India e in Cina forse addirittura prima. L'informatica in senso moderno, però, nasce soprattutto dal lavoro di precursori quali Pascal e Gottfried Leibniz, iniziatori come Babbage, Ada Lovelace, Zuse, Atanasoff, ancora Alan Turing, Stibitz e Howard Aiken, creatori dei primi progetti computazionali di vasto respiro come de Finetti, von Neumann e Wiener.


  Voci in vetrina
 

Il phase-locked loop, comunemente noto con il suo acronimo PLL, è un circuito elettrico ampiamente utilizzato nell'elettronica per le telecomunicazioni. Esso permette di creare un segnale la cui fase ha una relazione fissa con quella di un segnale di riferimento. Il PLL è inoltre un classico esempio di applicazione all'elettronica del controllo in retroazione. A causa dell'uso comune dell'acronimo, in letteratura non esiste una traduzione italiana univoca del termine: è difatti possibile trovare le forme "anello ad aggancio di fase", "circuito ad aggancio di fase" oppure "maglia ad aggancio di fase".

Tale tipo di circuito si usa per diversi scopi quali:


continua...
  Voce della settimana

Uno spazio dei colori è la combinazione di un modello di colore e di una appropriata funzione di mappatura di questo modello.

Un modello di colore, infatti, è un modello matematico astratto che descrive un modo per rappresentare i colori come combinazioni di numeri, tipicamente come tre o quattro valori detti componenti colore. Tuttavia questo modello è una rappresentazione astratta, per questo viene perfezionato da specifiche regole adatte all'utilizzo che se ne andrà a fare, creando uno spazio dei colori.

Così, ad esempio, spazi di colore come Adobe RGB e sRGB sono diversi, pur basandosi entrambi sullo stesso modello di colore RGB.

Calendario voce della settimana

  Citazioni

(da Informatica su Wikiquote)

  • L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi. (Edsger Wybe Dijkstra)
  • Errare è umano, ma per incasinare davvero tutto ci vuole un computer. (Legge di Murphy- Quinta legge dell'inattendibilità)
  • I computer sono inutili, possono dare solo risposte. (Pablo Picasso)
  • Il calcolatore è straordinariamente veloce, accurato e stupido. L'uomo è incredibilmente lento, impreciso e creativo. L'insieme dei due costituisce una forza incalcolabile. (Albert Einstein)
  • La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (Isaac Asimov)
  • Non ho paura dei computer, ma della loro eventuale mancanza. (Isaac Asimov)
  • Il testing non può mai rivelare l'assenza di bug. (Edsger Wybe Dijkstra)
  • Computer: cretino ad alta velocità in dotazione, spesso, a cretini molto lenti. (Stefano Benni)
  • Sono convinto che l'informatica abbia molto in comune con la fisica. Entrambe si occupano di come funziona il mondo a un livello abbastanza fondamentale. La differenza, naturalmente, è che mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli - almeno potenzialmente - tutto ciò che vi succede. Se sei abbastanza bravo, puoi essere un dio. Su piccola scala.ra invenzione dell'uomo - con l'eccezione forse delle armi da fuoco e della tequila. (Mitch Ratcliffe)
  • Mai fidarsi di un computer che non è possibile gettare dalla finestra. (Steve Wozniak)
  • Ogni buon lavoro software nasce da un problema personale di uno sviluppatore. (Eric Steven Raymond)
  • I bravi programmatori sanno cosa scrivere, i migliori sanno cosa riscrivere (e riusare). (Eric Steven Raymond)
  • È meglio usare programmi di alta qualità senza costi di licenza, che costosi programmi proprietari di scarso valore. (Walter Bender, direttore del Media Lab del MIT)
  • Il computer non è una macchina intelligente che aiuta le persone stupide, anzi è una macchina stupida che funziona solo nelle mani delle persone intelligenti. (Umberto Eco)
  Portali correlati
  Portale Telematica: accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete
  Portale Apple: accedi alle voci di Wikipedia che trattano di Apple
  Portale Microsoft: accedi alle voci di Wikipedia che trattano di Microsoft
  Portale Google: accedi alle voci di Wikipedia che trattano di Google
  Portale Internet: accedi alle voci di Wikipedia che trattano di Internet
  Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero
  Portale Videogiochi: accedi alle voci di Wikipedia che trattano di Videogiochi
  Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di Sicurezza informatica

Altri progetti

  Personaggi legati all'informatica
 

Federico Faggin (Vicenza, 1º dicembre 1941) è un fisico, inventore e imprenditore italiano naturalizzato statunitense.

Dal 1968 Faggin risiede negli Stati Uniti ed ha assunto anche la cittadinanza statunitense. Fu capo progetto e progettista dell'Intel 4004 e responsabile dello sviluppo dei microprocessori 8008, 4040 e 8080 e delle relative architetture. Fu anche lo sviluppatore della tecnologia MOS con gate di silicio (MOS silicon gate technology), che permise la fabbricazione dei primi microprocessori e delle memorie EPROM e RAM dinamiche e sensori CCD, gli elementi essenziali per la digitalizzazione dell'informazione.

Nel 1974 fondò e diresse la ditta ZiLOG, la prima ditta dedicata esclusivamente ai microprocessori, presso cui dette vita al famoso microprocessore Z80. Nel 1986 Faggin co-fondò e diresse la Synaptics, ditta che sviluppò i primi Touchpad e Touch screen.


Categorie