跳至內容

討論:LNNBot

出自希顶维基
於 2025年10月4日 (六) 08:02 由 ColorfulGalaxy留言 | 貢獻 所做的修訂

由ColorfulGalaxy在話題Shidinn telegraphic cipher上作出的最新留言:2025年9月25日 (星期四)

本頁面用於關於 QQ 機器人 LNNBot 的討論。關於本維基的機器人賬號 User:LNNBot 的討論請移步 User talk:LNNBot

Please remember that LNNBot requires money to run, because of regular payment. Read User:DGCK81LNN for more detail.

Shidinn telegraphic cipher

User:Raymond's Shidinn telegraphic cipher is celebrating its fifth anniversary this year.

This Python program converts Shidinn alphabet text to LNNBot musicjs sequence.

It may still need to be corrected. ColorfulGalaxy留言2025年9月25日 (四) 18:17 (CST)回覆

import sys
c=' '
rootn=-12
diffn=[]
letters="bpmwjqxynzDsrHNldtgkh45vF7BcfuaoeEAYL62T83V1i"

def printn(n,length=1):
 print("note(",n,",",length,");")

def restn(length=1):
 print("rest(",length,");")

def ejn():
 global diffn,rootn
 while len(diffn)>0:
  printn(rootn+diffn[0],1)
  diffn.pop(0)
  if len(diffn)>0:
   restn(-1)
 rootn=-12
 diffn=[]

def h14():
 print("note(-999,1);") # To be fixed

def b27():
 global diffn,rootn
 rootn=-12
 diffn=[0,2,3,5,7,8,10,12,14,15,17,19,20,22]
 ejn()

def h21():
 global diffn,rootn
 rootn=-12
 diffn=[1,4,6,9,11,13,16,18,21,23,25,28,30]
 ejn()

def t18():
 global diffn,rootn
 rootn=-12
 diffn=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]
 ejn()

rootn=-12
diffn=[0]
ejn()
rootn=-12
diffn=[0]
ejn()
rootn=-12
diffn=[0]
ejn()
h14()


while(c!=''):
 c=sys.stdin.read(1)
 if(c==''):
  ejn();
  b27();
  b27();
  h21();
  h21();
  t18();
  t18();
  h14();
 elif(c in (' ',chr(10),chr(13))): # Space bar
  ejn()
  restn(1)
 elif(c=='b'): # Light
  ejn()
  rootn=2
  diffn=[0,4,7]
 elif(c=='p'): # House
  ejn()
  rootn=1
  diffn=[0,4,7]
 elif(c=='m'): # Door
  diffn=[0,3,7]
  ejn()
 elif(c=='w'): # Mountain
  diffn=[0,4,7,10,15]
  ejn()
 elif(c=='j'): # Hair
  diffn=[0,4,7,10,14,17]
  ejn()
 elif(c=='q'): # Carriage & Boat
  diffn=[0,3,7,10,14,17]
  ejn()
 elif(c=='x'): # Fire & Leather
  diffn=[0,4,7,10,13]
  ejn()
 elif(c=='y'): # Flower
  diffn=[0,4,7,10,14,18]
  ejn()
 elif(c=='n'):
  diffn=[0,3,7,10]
  ejn()
 elif(c=='z'):
  diffn=[0,4,7,10,20]
  ejn()
 elif(c=='D'):
  diffn=[0,4,8,10]
  ejn()
 elif(c=='s'):
  ejn()
  rootn=4
  diffn=[0,4,7]
 elif(c=='r'):
  diffn=[0,3,7,10,14,17,21]
  ejn()
 elif(c=='H'):
  ejn()
  h14() # This function is buggy.
 elif(c=='N'):
  diffn=[0,3,7,10,14]
  ejn()
 elif(c=='l'):
  diffn=[0,2,7]
  ejn()
 elif(c=='d'):
  ejn()
  rootn=5
  diffn=[0,4,7]
 elif(c=='t'):
  ejn()
  t18()
 elif(c=='g'):
  ejn()
  rootn=10
  diffn=[0,4,7]
 elif(c=='k'):
  diffn=[0,4,7,10,14,17,21]
  ejn()
 elif(c=='h'):
  ejn()
  h21()
 elif(c=='4'):
  diffn=[0,5,7]
  ejn()
 elif(c=='5'):
  diffn=[0,7]
  ejn()
 elif(c=='v'):
  diffn=[0,4,6]
  ejn()
 elif(c=='F'):
  ejn()
  rootn=9
  diffn=[0,4,7]
 elif(c=='7'):
  diffn=[0,4,7,10]
  ejn()
 elif(c=='B'):
  ejn()
  b27()
 elif(c=='c'):
  ejn()
  rootn=3
  diffn=[0,4,7]
 elif(c=='f'):
  ejn()
  rootn=8
  diffn=[0,4,7]
 elif(c=='u'):
  diffn=[0,4,8]
  ejn()
 elif(c=='a'):
  ejn()
  rootn=0
  diffn=[0,4,7]
 elif(c=='o'):
  diffn=[0,3,6,9]
  ejn()
 elif(c=='e'):
  ejn()
  rootn=7
  diffn=[0,4,7]
 elif(c=='E'):
  ejn()
  rootn=6
  diffn=[0,4,7]
 elif(c=='A'):
  ejn()
  rootn=11
  diffn=[0,4,7]
 elif(c=='Y'):
  diffn=[0,3,6,11]
  ejn()
 elif(c=='L'):
  diffn=[0,7,10]
  ejn()
 elif(c=='6'):
  diffn=[0,4,7,9]
  ejn()
 elif(c=='2'):
  diffn=[0,4,7,14]
  ejn()
 elif(c=='8'):
  diffn=[0,4,7,12] #C I could not find any reliable source about the C8 chord
  ejn()
 elif(c=='3'):
  diffn=[0,4]
  ejn()
 elif(c=='V'):
  diffn=[0,4,7,11]
  ejn()
 elif(c=='1'):
  diffn=[0]
  ejn()
 elif(c=='i'):
  diffn=[0,4,7,10,14]
  ejn()