Originally I tried to accomplish this by just having Facebook subscribe to the RSS feed of the Twitter account, but Facebook apparently only polls feeds every few days, and having "Event Foo starting now!" messages show up days late was somewhat suboptimal.
Then I tried using the Twitterfeed Facebook app, which worked ok for a while, but eventually started to suffer from random multi-day delays as well, and I got sick of the complaints.
Doing it myself also gave me the opportunity to include more detail in the Facebook post: when this script notices that the twit contains a link to a DNA event, it posts the event's flyer as an attachment to the message, along with the event description text as its caption. For example, it sees this and transforms it into this.
I did it in this somewhat roundabout way (one script posts to Twitter, another script reads from Twitter and posts to Facebook) rather than just having the first script post to Twitter and Facebook at the same time, because this way ensures that everything that gets posted to Twitter also ends up on Facebook no matter how it got there. For example, when our various bartenders use their phones to post the nightly drink specials, those posts will get mirrored as well.
Now if only I could figure out how to get the userpic on the DNA Facebook account to not look like hammered shit. I'm uploading a 200x200 PNG and Facebook converts it to a JPEG at apparently 5% quality or something, to maximize artifacting. (I've tried various sizes of JPEG too, and it shittily re-encodes them all anyway. Is there some magic sweet-spot that Facebook will leave un-transformed?)